- ベストアンサー
RequestDispatcherの使用方法
- RequestDispatcherを使ったdoPostメソッドの無限ループ問題について
- RequestDispatcherの設定情報についての問題
- 再帰的にdoPostメソッドが呼ばれてしまう原因
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
全然違うじゃん笑 URLが「/aaaa/*」の場合はaaaaServletに飛ぶのですが、 doPost()でまた「/aaaa/…/dddd.jsp」とURLのパターンが「/aaaa/*」にマッチするURLに飛ばされるので doPost()がまた呼ばれ、延々とループしているのだと思います。
その他の回答 (1)
- pcbeginner
- ベストアンサー率46% (261/560)
誤字脱字タイプミス多すぎ。 せめてコンパイルが通るコードのせなよ。 コンパイルエラーが出るコードが動きませんって言われてもね。 当然です。としか言えませんよ。
補足
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> 以上です。 たびたびで申し訳ありませんが、よろしくお願いします。
お礼
なるほど… URIが「/固定値/可変/・・・/固定値.do」となるため url-patternを「/固定値/*」としていました。 「/固定値/*.do」 見たいな感じにできればいいのですが できないっぽいですね>< 他の対応方法を探してみます。 いろいろ教えて頂きありがとうございました。