我們對我們的項目有了更深入的瞭解,並且已經使用eclipse建立了一個基本的Web應用程序。每當我們試圖運行服務器,我們得到如下的404錯誤: JSP Tomcat不良資源
從我的研究中,我發現我需要某種類型的web.xml文件。應該在哪裏放這個文件應該在哪裏。我如何使它
我們對我們的項目有了更深入的瞭解,並且已經使用eclipse建立了一個基本的Web應用程序。每當我們試圖運行服務器,我們得到如下的404錯誤: JSP Tomcat不良資源
從我的研究中,我發現我需要某種類型的web.xml文件。應該在哪裏放這個文件應該在哪裏。我如何使它
你的問題是你試圖訪問WEB-INF文件夾內的資源,這是不允許的,這就是你有這個錯誤的原因,你必須把jsp放在WebContent文件夾或任何WebContent文件夾下的文件夾。 WEB-INF \ classes包含您的Java類的.class文件,它不是放置任何資源的好地方。
由於Servlet的3.0規範,Web部署描述符(web.xml)是可選的。
我希望這可以幫助您解決您的問題
它是一個很好的地方放置一個資源,只能訪問的代碼在後端,但不直接由用戶。例如,您想要讀取哪些用戶不應該訪問的配置文件。 – developerwjk
我說WEB-INF/classes不是一個好地方,不是整個WEB-INF文件夾。很明顯他想訪問jsp文件,所以我認爲它與答案無關。 –
把JSP的WEB-INF下使他們無法進入,除非你在web.xml中映射他們WEB-INF的目的是隱瞞的事情,因爲用戶不能下載或在WEB-INF下訪問任何東西。你只把JSP的WEB-INF下,如果你不希望用戶能夠通過其真實姓名去那裏(即http://localhost/app/whatever.jsp
),但希望將其映射到某個特定的URL(即http://localhost/app/somename/
)
映射一個JSP這是在WEB-INF的URL甘蔗與此在web.xml
<servlet>
<servlet-name>somename</servlet-name>
<jsp-file>/WEB-INF/whatever.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>somename</servlet-name>
<url-pattern>/somename/*</url-pattern>
</servlet-mapping>
當然做,如果你需要映射另一個URL的JSP,但不覺得有必要禁止用戶從它的.jsp文件名去那裏,你可以使用一個URL重寫過濾器。在這種情況下,將它放在WEB-INF下是毫無意義的。
請檢查此問題http://stackoverflow.com/questions/11658104/where-is-web-xml-in-eclipse-projects – Umeshwali