2012-05-14 73 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更多細節

相關問題