1

私はGAE/Jアプリに取り組んでおり、次の構造を持っています:

- war
    |
    - mobile
    |      |
    |      - assets
    |      |      |
    |      |      + a.jpg
    |      |      + b.gif
    |      |      + c.js
    |      + a.jsp
    |      + b.jsp
    |      + index.jsp
    |      + d.css
    |      + e.css
    |
    + landing.jsp

web.xml には、 を/mobile 指すURL マッピングがあります<jsp-file>/mobile/index.jsp<jsp-file>。私のindex.jspでは、相対アドレス指定を使用して、JS ファイル、CSS ファイル、画像などの必要なすべてのリソースを参照しました。our_domain/mobile/index.jspブラウザに入力すると、これはうまく機能します。しかし、入力するour_domain/mobileと、正しいファイル (index.jsp) が提供されますが、すべての相対アドレスが壊れます。これは、CSS、JS、画像がないことを意味します。私の調査によると、web.xml実際にリダイレクトするのではなく、指定された JSP/サーブレットを呼び出して特定の URL パターンに応答するようです。これは、実際のリダイレクトで正しいパス情報がルートに残されるため、相対アドレス指定ではうまく機能しません。この種のシナリオで相対アドレスが期待どおりに機能することを確認するにはどうすればよいですか?

[編集] いくつかの構成を試しました。/mobileURL が正しく機能し、すべての CSS が読み込まれるようになりましたが、CSS が読み込まれませ/mobile/ん。これが私のマッピングです:

<servlet> <description>Landing page on mobile site</description> 
 <display-name>MobileIndex</display-name>
 <servlet-name>MobileIndex</servlet-name>
 <jsp-file>/mobile/index.jsp</jsp-file> 
</servlet>

<servlet-mapping>
 <servlet-name>MobileIndex</servlet-name>
 <url-pattern>/mobile/</url-pattern>
</servlet-mapping> 

<servlet-mapping>
 <servlet-name>MobileIndex</servlet-name>
 <url-pattern>/mobile</url-pattern>
</servlet-mapping>
4

1 に答える 1