0

Google App Engine プロジェクトを作成しましたが、SEO に関する懸念から、ページの 1 つを HTML (+ JQuery) からサーバーでレンダリングされる JSP に変更したいと考えています。

このページは index.html ファイルです。名前を変更せずに JSP として機能させるにはどうすればよいですか (ユーザーが index.jsp にアクセスするのではなく、index.html を JSP ページとして扱います)。

これを web.xml に追加しようとしましたが、うまくいかないようです

<servlet>
    <servlet-name>main</servlet-name>
    <jsp-file>/index.html</jsp-file>   (or index.html, same result)
 </servlet>

これを解決する方法についてのアイデアはありますか?

index.html の名前を index.jsp ファイルに変更すると、すべて正常に動作します

4

1 に答える 1

1

サーブレットフィルターでこれを確実に行うことができます。

/index.html へのリクエストをキャッチするようにフィルタを設定します

次に、フィルターで index.jsp を返すので、クライアントからは /index.html として認識されます。

元:

    private ServletContext context;

    @Override public void init(FilterConfig arg0) throws ServletException {
        context = arg0.getServletContext();

    }

    @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        context.getRequestDispatcher("/index.jsp").include(request, response); 

    }

これが行うことは、応答に /index.jsp を含めることです。もちろん、/index.html ファイルがないため、それが応答全体になります。

于 2013-04-16T13:23:44.207 に答える