2013-10-11 87 views
6

我想上传文件到服务器,为此我正在编写一个servlet程序。文件上传目录的位置应该从参数中获取在web.xml中。我以前没有使用web.xml,只知道它为每个servlet创建条目。我无法在我在netbeans中创建的web应用程序项目中看到此文件。请帮我解决一下这个。 谢谢。无法在netbeans 7.0.1中找到web.xml

回答

24

应位于YOURPROJECT\web\WEB-INF文件夹中,这样的完整路径将是:YOURPROJECT\web\WEB-INF\web.xml


编辑(2015年8月21日)

得到了与评论一downvote从duffymo,即我的回答不正确。

comment

,我决定来说明我的一步一步的图片的答案,以避免任何误解。

我要说明在Linux(Ubuntu)和Windows(Windows 7)操作系统中的Netbeans行为。

的Linux:

  1. 让我们创建一个使用默认设置一个简单的Java Web项目。

simple web project on linux system

  • 我们将项目文件夹检查该文件夹的内容:
  • web project folder on linux system

    注,那web文件夹在那里。

  • 进一步导航:
  • contents of web folder on linux system

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

    can create a web.xml file in this folder manually或做它用通过项目的上下文菜单Netbeans的“新建 - >新建 - >其他“:

    creating web.xml on linux system in netbeans #1

    现在

    creating web.xml on linux system in netbeans #2

    ,我们导航YOURPROJECT\web\WEB-INF\文件夹中看到,web.xml有:

    created web.xml file

    同样的规则是windows操作系统正确,请检查下面的图片:

    web-application project folder on windows

    contents of web-application folder on windows

    你可以在这里创建的web.xml:

    web.xml file location on windows

    或使用NetBeans,正如我上面描述。

    +0

    文件夹为空 – Saumyaraj

    +1

    此文件夹中自己创建的web.xml。这里是品尝web.xml文件中的链接:http://docs.oracle.com/cd/E19146-01/821-1830/abxii/index.html – 2013-10-11 12:16:57

    +0

    这是不正确。这条路上没有/ web。应该直接在/ WEB-INF的上下文根目录下。 – duffymo

    6

    web.xmlJava EE 6中是可选的。所以,默认情况下它不会被加载到Netbeans中。您需要从Netbeans手动加载web.xml

    +1

    那么如何添加上下文,如果我不有web.xml – Saumyaraj

    +0

    嗯,如果它是可选的,有什么替代方法? – Thufir

    0

    你可以在你的web.xml中使用上下文参数

    在你正常的java类中你读到了这个静态字段。

    <?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> 
    

    而且您可以使用ServletContext.getInitParameter函数访问此上下文参数。

    如果您使用Servlet 3.0规范,则可以使用注释(http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/package-summary.html)。 我认为@WebInitParam是你在找什么。

    +0

    问题是有我的WEB-INF – Saumyaraj

    +0

    没有web.xml中你必须打开一个文本编辑器,创建一个名为“web.xml中”的新文件,并添加什么是必要的。 – duffymo

    25

    我知道这是这么晚了,但我有同样的问题,所以这里的下面的解决方案:

    要创建的web.xml:你的项目

    1. 右键
    2. 选择新
    3. 选择其他
    4. 框打开新文件,在过滤器搜索web.xml中
    5. 你会得到你想要的文件web.xml,th单击下一步...然后完成

    (在Netbean 7上测试。4 JDK 7)

    +0

    感谢您的直接指示。 –

    1

    您需要首先创建一个servlet页面则web.xml将在WEB.INF生成/

    2

    尝试右键单击项目,并选择New - >Other - >Web - >Standard Deployment Descriptor (web.xml) - >Next - >Finish。遵循这一点,它将在配置文件中创建。

    视频教程:https://www.youtube.com/watch?v=UAMOeHtPwrc

    相关问题