HTTP 404问题JSP无法在Web中看到

时间:2011-01-14 07:28:08

标签: java eclipse model-view-controller tomcat java-ee

1

如果在cmd中运行startup.bat 在网络上看不到

apache-tomcat-6.0.30\webapps\AbstractCommandDemo\WebContent\WEB-INF\index.html
apache-tomcat-6.0.30\webapps\AbstractCommandDemo\WebContent\WEB-INF\jsp\userInfo.jsp
localhost:8080/AbstractCommandDemo/userInfo.jsp
localhost:8080/AbstractCommandDemo/user.do
localhost:8080/AbstractCommandDemo/WEB-INF/jsp/userInfo.jsp

可以在网上看到

apache-tomcat-6.0.30\webapps\AbstractCommandDemo\index.html

2。 而且,如果在eclipse中运行,比上述情况更糟糕,则无法在index.html中看到http://localhost:8080/ 这是apache-tomcat-6.0.30\webapps\AbstractCommandDemo\index.html

<head>
<meta http-equiv="Content-Type" content="text/html; charset=BIG5">
<title>AbstractCommandController Demo</title>
</head>
<body>
    <h1>name:${userInfo['name']}</h1>
    <h1>password:${userInfo['password']}</h1>
</body>
</html>

的web.xml

<session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>

    <servlet>
        <servlet-name>dispatcherServlet</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/mvcconfig.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcherServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

mvcconfig.xml

 <bean id="urlMapping" 
          class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
        <property name="mappings"> 
            <props> 
                <prop key="/user.do">userController</prop> 
            </props> 
        </property> 
    </bean> 

    <bean id="viewResolver" 
          class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
        <property name="prefix" value="/WEB-INF/jsp/"/> 
        <property name="suffix" value=".jsp"/> 
    </bean> 

    <bean id="userController" 
          class="onlyfun.caterpillar.UserController"> 
        <property name="userPage" value="userInfo"/> 
    </bean> 

2 个答案:

答案 0 :(得分:2)

WEB-INF和META-INF文件夹中的

页面会自动受到外部访问保护。 只需从两个文件夹中移出您要提供的页面即可,您应该能够看到您的页面。

答案 1 :(得分:0)

在tomcat webserver WEB-INF和MATA-INF中 DIR 保护,所以没有人可以从外面访问文件

所以你只能从servlet中调用你的文件

如果你在WEB-INF / Jsp中使用jsp 然后你可以编写可以调用你的jsp文件的servlet 这是非常安全的方式

另外,它会给你404错误

编写调用jsp的servlet或将你的jsp重定向到WEB-INF / Jsp文件夹