7

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 -> ページをレンダリングします

index.jsp/ -> ソースコードを返す

register.jsp/ -> ソースコードを返す

register.jsp -> jsp をレンダリングします

signup/ -> register.jsp をレンダリングします

サインアップ -> register.jsp をレンダリングします

*.jsp/ を含む URL に問題があるようです

4

2 に答える 2

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>

于 2012-09-05T15:53:22.847 に答える
0

「リダイレクト」とapache tomcat 7を使用すると、リダイレクトが新しいバージョンのapacheでサポートされていないため、いくつかの問題があります。問題を解決するには、Apache のバージョンの変更ログ (使用している場合) で、ページで使用したタグのニュースを検索するか、ページのコードを公開して、他の解決策を提案できるようにします。非推奨のタグを使用している可能性があります。また、詳細については、ファイル localhost[DATE].log を確認してください。

于 2012-05-23T09:17:46.810 に答える