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

时间:2012-05-14 06:10:15

标签: 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>

==========

所以...

index.jsp - &gt;渲染页面

index.jsp / - &gt;返回源代码

register.jsp / - &gt;返回源代码

register.jsp - &gt;渲染jsp

注册/ - &gt;渲染register.jsp

注册 - &gt;渲染register.jsp

所以好像是带有* .jsp /的网址有问题

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

当我使用“redirect”和apache tomcat 7时,我遇到了一些问题,因为新版本的apache不支持重定向。为了解决您在您的页面中使用的标签的更新日志中的搜索新闻(如果您使用它),或者发布您的页面代码以便能够建议其他解决方案。可能是您正在使用已弃用的标签。另外,请检查文件localhost [DATE] .log以获取更多详细信息