2012-11-08 83 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,我有更新了我的答案,以反映目录结构中的更新。 –