Java Tomcat找到欢迎文件,但找不到其他JSP

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

我肯定我犯了一些疯狂的错误,但我无法理解。我刚刚安装了Tomcat7.0并部署了“app”,它只包含两个JSP(简单测试)。然而,当我运行tomcat并尝试访问页面时,我只能在将JSP放入“欢迎文件列表”时访问它,而不能以任何其他方式访问它。有人能帮我吗,因为我不知道我做错了什么

下面是webapp结构-

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实现的,在测试其他东西时,我想直接访问一些文件。