appengine java开发服务器显示源代码

xtr*_*com 7 java google-app-engine

当我在appengine开发服务器上访问这样的jsp页面时:

本地主机:8888/index.jsp的/

它在浏览器中显示index.jsp的源代码.如果您在没有尾部斜杠(即index.jsp)的情况下访问它然后呈现jsp但是使用尾部斜杠(即index.jsp /)它会显示源代码

知道为什么会这样吗?以及如何解决它?

它似乎只发生在开发服务器而不是生产中.生产给出404 Not Found错误,这很好.

我使用的是SDK 1.6.4

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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

    <servlet>
        <servlet-name>RegisterPage</servlet-name>
        <jsp-file>/register.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
        <servlet-name>RegisterPage</servlet-name>
        <url-pattern>/signup</url-pattern>
    </servlet-mapping>


    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
Run Code Online (Sandbox Code Playgroud)

==========

所以...

index.jsp - >渲染页面

index.jsp/ - >返回源代码

register.jsp/ - >返回源代码

register.jsp - >渲染jsp

注册/ - >渲染register.jsp

注册 - >渲染register.jsp

所以它似乎是带有*.jsp /的问题的网址

Nic*_*kis 1

您应该将所有 *.jsp 文件移动到 /WEB-INF 目录中,并更新您的 web.xml。

这样,*.jsp 文件将无法直接访问,并且源代码将被隐藏。

<?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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
    <servlet-name>RegisterPage</servlet-name>
    <jsp-file>/WEB-INF/register.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>RegisterPage</servlet-name>
    <url-pattern>/signup</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>IndexPage</servlet-name>
    <jsp-file>/WEB-INF/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>IndexPage</servlet-name>
    <url-pattern>/index</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>/index</welcome-file>
</welcome-file-list>
Run Code Online (Sandbox Code Playgroud)