要するに、GETリクエストをJSPに転送するサーブレットがあり、ユーザーからターゲットURLを「非表示」にしたい。次のようにRequestDispatcherを使用してServletからJSPにリクエストを転送してもターゲットURLが隠されない
私のセットアップは次のとおりです。
- "www.mydomain.com/pages/page1を"
- A JSP、アドレスの「/ WEB-INF /ページ/ Page1のURLにマップされたサーブレット、 .jsp "、アプリケーションルートからの相対パスです。 JSPは、ブラウザから直接アクセスできないように、WEB-INFディレクトリにあります。 ブラウザからのアクセス時に
、サーブレット前処理着信GETリクエスト、および転送しJSP次のコード・スニペットを使用して:
request.getRequestDispatcher("/WEB-INF/pages/page1.jsp").forward(request, response);
所望の挙動がブラウザにするためのものですユーザーがJSPの内容を見ている間は、URL「www.mydomain.com/pages/page1」を維持します。
残念ながら、ブラウザは一貫してJSPのURLを表示するには、スイッチ: "www.mydomain.com/WEB-INF/pages/page1.jsp"(ChromeとFirefoxで動作確認済み)
は誰も私を伝えることができ、どのようなこの現象を引き起こす可能性がありますか?
出典: このソリューションは、それらがJSPにアドレスを「隠し」で成功している。このCodeRanchの答えに記載されている:http://www.coderanch.com/t/618800/JSP/java/Url-hiding
これはうまくいくはずです。サーブレットの 'doGet()'メソッドと 'web.xml'の' servlet-mapping'メソッドを送信できますか? –
@ W-S、これもうまくいくと確信してくれてありがとう。これは私にいくつかのデバッグをさせ、問題のかなり遠いものを見つけることになった。下の私の答えを見てください。 – paulkore