繁体   English   中英

Tomcat不读取web.xml文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM