• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RequestDispatcherの使用方法)

RequestDispatcherの使用方法

このQ&Aのポイント
  • RequestDispatcherを使ったdoPostメソッドの無限ループ問題について
  • RequestDispatcherの設定情報についての問題
  • 再帰的にdoPostメソッドが呼ばれてしまう原因

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

全然違うじゃん笑 URLが「/aaaa/*」の場合はaaaaServletに飛ぶのですが、 doPost()でまた「/aaaa/…/dddd.jsp」とURLのパターンが「/aaaa/*」にマッチするURLに飛ばされるので doPost()がまた呼ばれ、延々とループしているのだと思います。

noctiluca0414
質問者

お礼

なるほど… URIが「/固定値/可変/・・・/固定値.do」となるため url-patternを「/固定値/*」としていました。 「/固定値/*.do」 見たいな感じにできればいいのですが できないっぽいですね>< 他の対応方法を探してみます。 いろいろ教えて頂きありがとうございました。

その他の回答 (1)

回答No.1

誤字脱字タイプミス多すぎ。 せめてコンパイルが通るコードのせなよ。 コンパイルエラーが出るコードが動きませんって言われてもね。 当然です。としか言えませんよ。

noctiluca0414
質問者

補足

pcbeginner様 誤字脱字申し訳ありません。 再度書き直させていただきます ロジックは以下です。 public class aaaaServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse res){ String uri= "/aaa/bbb/ccc/ddd.jsp"; RequestDispatcher dis = req.getRequestDispatcher(uri); try { dis.forward(req, res); return; } catch (Exception e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } } } web.xml側 <servlet-mapping> <servlet-name>aaaa-bbbb</servlet-name> <url-pattern>/aaaa/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>aaaa-bbbb</servlet-name> <servlet-class>aaaaServlet</servlet-class> </servlet> 以上です。 たびたびで申し訳ありませんが、よろしくお願いします。

関連するQ&A