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.
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.
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:
- Let's create a simple Java Web project with default settings.
- We're going to the project folder to inspect the contents of this folder:
note, that web folder is there.
- Navigating further:
You can create a web.xml file in this folder manually or do it using Netbeans via project context menu "New -> Create -> Other":
Now, we're navigating YOURPROJECT\web\WEB-INF\ folder to see, that web.xml is there:
The same rules are correct for windows operating system, check the pictures below:
You can create web.xml here:
or use Netbeans, as I described above.
I know it's so late but I had the same problem, so here's the solution below:
To create web.xml:
- Right click on your project
- Choose New
- Choose Other
- Box New file is opened, in Filter search web.xml
- 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.
来源:https://stackoverflow.com/questions/19317410/unable-to-find-web-xml-in-netbeans-7-0-1










