2013-10-11 85 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

    相關問題