[英]Tomcat dont read web.xml file
我的结构像
- 网页内容
- META-INF
- WEB-INF
- JSP
- 的index.jsp
- 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>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>
解
我发现编译时我的Tomcat服务器没有重新启动。 现在,当我每次编译servlet时,tomcat重新启动时,它都能工作。
谢谢你的耐心
您不能直接在WEB-INF中访问文件,这只能由servlet而不由您来访问。
该目录(WEB-INF)包含与应用程序相关的所有资源,这些资源不在应用程序的文档根目录中。 这是您的Web应用程序部署描述符所在的位置。 请注意,WEB-INF目录不是公共文档的一部分。 此目录中包含的任何文件都不能直接提供给客户端。
web.xml
必须立即位于WEB-INF
(也不能位于WEB-INF
的子目录中)
也尝试改变这个
<welcome-file>WEB-INF/jsp/index.jsp</welcome-file>
至
<welcome-file>jsp/index.jsp</welcome-file>
更新:
根据您的新目录结构,您的<welcome-file>
标记应为:
<welcome-file>jsp/index.jsp</welcome-file>
您的网址不正确时会出现404错误。
检查网址是否正确。 根据您的目录结构,您的URL应该是这样的: localhost:8080 / jsp / index.jsp
还要确保web.xml在WEB-INF目录中。
首先
web.xml
应该在web-inf
其次
您的web.xml
index.jsp
的路径不正确。
根据您的目录结构, index.jsp
位于webcontent\\jsp\\indiex.jsp
为什么要使用路径web-inf\\jsp\\index.jsp
根据您current
目录结构,它应该是.\\jsp\\indiex.jsp
UPDATE:OP已更新目录结构。
您不应该将jsps放在WEB-INF中,而应该将jsps放在webcontent中,而将web.xml
放在WEB-INF
。 重新组织您的目录结构。 将web.xml
放在web-inf
并将jsp
文件夹放在webcontent
然后在web.xml
放入欢迎使用jsp的路径,例如jsp\\index.jsp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.