2012-05-14 28 views
7

当我访问一个JSP页面这样的AppEngine上开发服务器上:的AppEngine Java开发服务器显示源代码

本地主机: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> 

==========

所以......

指数。 jsp - >呈现页面

index.jsp/- >返回源代码

register.jsp/- >返回的源代码

register.jsp - >呈现的jsp

注册/ - > register.jsp呈现

注册 - >呈现register.jsp

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

+0

您可以显示index.jsp页面的源代码?找到确切的问题真是太好了。 –

+0

这是一个错字,还是你真的在文件名后有'/'? –

+0

通常这是Web服务器中的配置错误。 – Teg

回答

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> 

+0

谢谢,这工作!然而,在欢迎文件列表中,绝对路径不起作用,所以我不得不使用“index”而不是“/ index”... –

0

当我使用“重定向”和apache tomcat 7时,我遇到了一些问题,因为在新版本的apache中不支持重定向。为了在你的页面中使用的标签的更新日志中解决你的问题搜索新闻,或者发布你的页面代码以便能够提出其他解决方案。可能是您使用了不推荐使用的标签。另外,请检查文件的本地主机[日期]的.log更多细节

相关问题