- ベストアンサー
java servletについて
JAVA SERVLETのプログラム内から、他のサーブレットのプログラムを呼ぶ にはどうしたらよいですか? また、同じくサーブレットからJSPは呼べますか? やり方を教えて下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サブルーチンみたいに呼ぶって訳にはいかないですけど、処理を振ることは できます。 例外とか手を抜いてますけど、雰囲気としては、こんな感じでいけるはず。 public void doPost(HttpServletRequest request, HttpServletResponse response) { なんか処理をやって… String nextUrl = "xxxxx"; // 飛ばし先の URL (servlet でも JSP でも) ServletContext context = request.getSession().getServletContext(); RequestDispatcher requestDispatcher = context.getRequestDispatcher(nextUrl); requestDispatcher.forward(request, response); }
その他の回答 (2)
- MarrowG
- ベストアンサー率53% (41/76)
単純に、他のサーブレットの利用したい処理部分を別クラスとして定義してしまえばいいのでは? 他のサーブレットも処理する部分は同じクラスを利用すればいいわけです。 同一の処理が複数のクラスから呼び出す必要があるなら、こういうクラス設計にすべきでは?
お礼
ご回答ありがとうございます。 ふむふむ。。。そうですね。なにせ、頭悪いもんで(^^;これからも なにとぞよろしくお願いします!
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { rDispatcher = request.getRequestDispatcher("/sample.jsp"); rDispatcher.forward(request,response); } こんなかんじですね。JSP. サーブレット移動は getServletConfig().getServletContext().getRequestDispatcher("/servlet/Sample.kanri_servlet").forward(request,response); このように。
お礼
kanayuさんも度々ありがとうございます! がんばります!
お礼
いつもありがとうございます。ちゃんと出来ました。 今卒研中で、苦しんでるんです.. これからもよろしくお願いします。 m(_ _)m