Question

I want to upload a file to a server, for which I am writing a servlet program.The location of the directory where the document would be uploaded should be fetched from a parameter in web.xml. I have not use web.xml before and only know that it makes entries for each servlet. I am not able to see this file in my web application project that i am making in netbeans. Please help me with this. Thank you.

Était-ce utile?

La solution

It should be located in YOURPROJECT\web\WEB-INF folder, so the full path will be: YOURPROJECT\web\WEB-INF\web.xml


EDIT (Aug 21, 2015)

Got a downvote with a comment from duffymo, that my answer is not correct.

comment

And I decided to illustrate my answer with step-by-step pictures to avoid any misunderstanding.

I am going to illustrate Netbeans behaviour in Linux (Ubuntu) and Windows (Windows 7) operating systems.

Linux:

  1. Let's create a simple Java Web project with default settings.

simple web project on linux system

  1. We're going to the project folder to inspect the contents of this folder:

web project folder on linux system

note, that web folder is there.

  1. Navigating further:

contents of web folder on linux system

web.xml file location on linux system, file is not created yet

You can create a web.xml file in this folder manually or do it using Netbeans via project context menu "New -> Create -> Other":

creating web.xml on linux system in netbeans #1

creating web.xml on linux system in netbeans #2

Now, we're navigating YOURPROJECT\web\WEB-INF\ folder to see, that web.xml is there:

created web.xml file

The same rules are correct for windows operating system, check the pictures below:

web-application project folder on windows

contents of web-application folder on windows

You can create web.xml here:

web.xml file location on windows

or use Netbeans, as I described above.

Autres conseils

I know it's so late but I had the same problem, so here's the solution below:

To create web.xml:

  1. Right click on your project
  2. Choose New
  3. Choose Other
  4. Box New file is opened, in Filter search web.xml
  5. You will get the file you want web.xml, then click next...then finish

(Tested on Netbean 7.4 JDK 7)

web.xml is optional in Java EE 6. So, by default it is not loaded in Netbeans. You need to manually load web.xml from Netbeans.

You need to firstly create a servlet page then web.xml will be generated in WEB.INF/

Try to right click the project and select New -> Other-> Web -> Standard Deployment Descriptor (web.xml) -> Next -> Finish. Follow that and it will be created in Configuration Files.

Video tutorial: https://www.youtube.com/watch?v=UAMOeHtPwrc

You could use context-parameters in your web.xml

In you normal java class you read this this static fields.

<?xml version="1.0" encoding="UTF-8"?>
<web-app ...>
...
<context-param>
    <description>directory where the document would be uploaded</description>
    <param-name>directory</param-name>
    <param-value>/tmp</param-value>
</context-param>
...
</web-app>

And you can access this context parameter with ServletContext.getInitParameter function.

If you are using Servlet 3.0 specification you can use annotations(http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/package-summary.html). I think that @WebInitParam is what are you looking for.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top