Java Tomcat找到欢迎文件,但找不到其他JSP
我肯定我犯了一些疯狂的错误,但我无法理解。我刚刚安装了Tomcat7.0并部署了“app”,它只包含两个JSP(简单测试)。然而,当我运行tomcat并尝试访问页面时,我只能在将JSP放入“欢迎文件列表”时访问它,而不能以任何其他方式访问它。有人能帮我吗,因为我不知道我做错了什么 下面是webapp结构-Java Tomcat找到欢迎文件,但找不到其他JSP,java,jsp,tomcat,tomcat7,web.xml,Java,Jsp,Tomcat,Tomcat7,Web.xml,我肯定我犯了一些疯狂的错误,但我无法理解。我刚刚安装了Tomcat7.0并部署了“app”,它只包含两个JSP(简单测试)。然而,当我运行tomcat并尝试访问页面时,我只能在将JSP放入“欢迎文件列表”时访问它,而不能以任何其他方式访问它。有人能帮我吗,因为我不知道我做错了什么 下面是webapp结构- sampleapp - /META-INF /javascripts /stylesheets /WEB-INF web.xml /lib
sampleapp -
/META-INF
/javascripts
/stylesheets
/WEB-INF
web.xml
/lib
/classes
/jsp
/test1.jsp
/test2.jsp
这是web.xml文件。除了欢迎文件列表之外,它真的什么都没有-
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>sampleapp</display-name>
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/test1.jsp</welcome-file>
</welcome-file-list>
</web-app>
样本应用
违约
org.apache.catalina.servlets.DefaultServlet
调试
0
列表
假的
1.
jsp
org.apache.jasper.servlet.JspServlet
叉
假的
xpoweredBy
假的
1.
违约
/
jsp
*.jsp
*.jspx
/WEB-INF/jsp/test1.jsp
在本例中,我将欢迎文件设置为test1.jsp,因此当我运行tomcat并以http://localhost:8080/sampleapp
,它成功加载test1.jsp的内容。但是,如果我尝试访问test2.jsp的路径,我将无法这样做。类似地,如果我将欢迎文件设置为test2.jsp,我只需访问http://localhost:8080/sampleapp
但当我尝试显式访问test1.jsp或test2.jsp时,它返回404错误
有人能帮我找出哪里出了问题吗?外部无法访问WEB-INF目录。如果希望JSP可以从外部访问,则必须将它们放在WEB-INF之外。WEB-INF目录无法从外部访问。如果希望JSP可以从外部访问,您必须将它们放在WEB-INF之外。因为您的项目不是标准Java WEB项目格式,您无法访问。首先,您需要将WEB内容放在WEB-INF文件夹之外。类似于WebContent文件夹,然后在WEB.xml中定义文件夹的上下文。因为您的项目不在标准Java WEB项目中无法访问的格式。首先,您需要将web内容放在web-INF文件夹之外。类似于WebContent文件夹,然后在web.xml中定义文件夹的上下文。bah,真是个疯狂的错误。感谢您快速指出:)。我是通过Spring实现的,在测试其他东西时,我想直接访问一些文件。呸,真是一个疯狂的错误。感谢您快速指出:)。我是通过Spring实现的,在测试其他东西时,我想直接访问一些文件。