2012-11-08 86 views
0

我structur就像Tomcat的不讀web.xml文件

  • 的WebContent
    • META-INF
    • WEB-INF
      • JSP
        • 的index.jsp
    • 的web.xml

而且web.xml文件是simples一樣可以

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> 

<web-app> 
    <display-name>servlets</display-name> 
    <welcome-file-list> 
    <welcome-file>WEB-INF/jsp/index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

但是當我執行它使用Eclipse在瀏覽器中,我得到404 error,但是當我將index.jsp移動到它工作正確的根目錄。

編輯: 後的變化

JSP

--index.jsp

META-INF

WEB-INF

--web.xml

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE web-app 
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" 
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> 

<web-app> 
    <display-name>servlets</display-name> 
    <welcome-file-list> 
    <welcome-file>jsp/index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

SOLUTION

我發現,當我編譯我的Tomcat服務器沒有重新啓動。現在,當我每次編譯servlet時,tomcat都會重新啓動。

感謝您的耐心

+1

web.xml中應該是WEB-INF? –

+0

按照你的目錄結構,'index.jsp'在'webcontent \ jsp \ indiex裏面。jsp'你爲什麼使用路徑'web-inf \ jsp \ index.jsp'? –

+0

更改目錄結構不明確後。格式化它合適 –

回答

2

web.xml必須立即裏面WEB-INF(也未在WEB-INF子目錄)

也可以嘗試改變這種

<welcome-file>WEB-INF/jsp/index.jsp</welcome-file>

<welcome-file>jsp/index.jsp</welcome-file>

UPDATE:

根據你新的目錄結構,你<welcome-file>標籤應該是:當你的網址是不妥當的

<welcome-file>jsp/index.jsp</welcome-file>

+0

改變它,但仍然得到了404。url是'http:// localhost:8080/servlets /' –

+0

我試過了我的項目,它對我有效。 – Abubakkar

+0

什麼是您的項目名稱 – Abubakkar

0

404錯誤出現。

檢查URL是否正確。 根據您的目錄結構,您的網址應該有一些事情是這樣的:本地主機:8080/JSP/index.jsp的

另外,還要確保web.xml中的WEB-INF目錄中。

+0

'web.xml'在'WEB-INF'目錄下,但是從eclips執行後它會進入'localhost:8080/servlets' url,不像你寫的那樣 –

3

您不能直接訪問WEB-INF內部的文件,這隻能通過servlet而不是由您來訪問。

此目錄(WEB-INF)包含與應用程序相關的所有資源,這些資源不在應用程序的文檔根目錄中。這是您的Web應用程序部署描述符所在的位置。請注意,WEB-INF目錄不是公共文檔的一部分。此目錄中包含的任何文件都不能直接提供給客戶端。

0

首先

web.xml應該是內部web-inf

其次

路徑index.jsp不正確,你web.xml。 OP已經更新的目錄結構:

根據您的目錄結構,index.jsp爲什麼您使用路徑web-inf\jsp\index.jsp

按你的current目錄結構應該是.\jsp\indiex.jsp

更新內部webcontent\jsp\indiex.jsp

你不應該把jsps放在WEB-INF中,你應該把jsps放在webcontent中,web.xml放在WEB-INF。 重新組織你的目錄結構。把web.xmlweb-infjsp文件夾內webcontent然後裏面web.xml把路徑歡迎JSP作爲jsp\index.jsp

+0

注意到'jsp'在我的WEB-INF目錄中 –

+0

@ skowron-line,你不應該把jsps放在'WEB-INF'中,你應該把'jsps'放在'webcontent'中,'WEB-INF'中的'web.xml'重組你的目錄結構。把'web.xml'放入'web-inf'和'jsp'文件夾裏面'webcontent'內,然後在'web.xml'裏面放入jsp的路徑作爲'jsp \ index.jsp' –

+0

@ skowron-line,我有更新了我的答案,以反映目錄結構中的更新。 –