初歩的な質問で失礼します。
サーブレットAに doGet, doPost, serviceメソッドを実装しています。
サーブレットBのdoPostメソッド内にて
サーブレットAにforwardを実行する場合に、
呼出されるのはサーブレットAのどのメソッドですか?
JSPへのforwardはできたのですが、
サーブレットへのforwardができず悩んでいます。
サーブレットのAPIを読んでもいまいちわかりません。
何かメソッドに関する制約があるのでしょうか?
上の質問は全くマト外れでしょうか?
追加ですが・・・
サーブレットからforwardされたサーブレットで、
そこからさらにJSPへforwardすることはできますか?
Apache2.0.43+tomcat4.1.12+Java1.4.0_01です。
No.1ベストアンサー
- 回答日時:
> サーブレットBのdoPostメソッド内にて
> サーブレットAにforwardを実行する場合に、
> 呼出されるのはサーブレットAのどのメソッドですか?
doPost() のはず。実際には、forward するときの HttpServletRequest#getMethod() で取得できる文字列に従うはず。
> JSPへのforwardはできたのですが、
> サーブレットへのforwardができず悩んでいます。
forward に関して、servlet と JSP の違いはないはず(というか、JSP は自動コンパイルされる servlet だし)。
getRequestDispatcher() してるパスが間違っているのだと思います。
> サーブレットからforwardされたサーブレットで、
> そこからさらにJSPへforwardすることはできますか?
コンテナの実装次第だけど、forward() は、サブルーチン呼び出しと変わらないはずなので、
回数に制限はないはず。
この回答への補足
「doPostからforwardすればdoPost」というのは、
厳密には間違いであって、正しくは
「getMethod()で取得した結果からdoPost」ですね。。
了解しました。大変解りやすく、ありがとうございます。
ありがとうございました。
できました。
serviceを作っことが原因で
doPostが無視されていたことが動かない原因でした。
No.2
- 回答日時:
サーブレットAは HttpServlet を拡張しているのだと思いますが、
service メソッドはオーバーライドしては駄目です。
HttpServlet の service メソッド内で、処理を doGet や doPost に
委譲するようになってますので、これをオーバーライドしてしまうと、
doGet も doPost も実行されなくなります。
ひょっとしたら、そのせいでサーブレットが実行されてないと
勘違いしているのかもしれません。
なんの設定もせずに forward した場合、doGet が呼ばれます。
また、forward の回数には制限はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java 問題作成のWebアプリの作り方を教えてください 1 2022/11/26 22:01
- FX・外国為替取引 1.The U.S. FI sells $100 million for pounds at the 1 2022/05/03 00:08
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Java javaの質問です 次の機能を有するメソッド4つを自クラスに作成し、実装したいです 【機能】 足し算 1 2022/06/15 17:49
- Java java 飾子を付けること(public static・・・) ・コンソールへの出力処理はmainメ 2 2022/06/16 19:34
- その他(プログラミング・Web制作) Pythonで複数のメソッドをまとめて管理する方法について 1 2023/03/30 00:01
- その他(プログラミング・Web制作) どういうプログラムで組みますか?google colabでやってるんですけど、出来る方お願いします。 1 2022/07/17 18:41
- 英語 kindly replyの訳 1 2022/10/22 11:09
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- 英語 "Fast forward three years," という文章は、"それから3年が経ち、"という 2 2022/12/15 18:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
mainメソッドのthrows節で設定...
-
final修飾子を使っているのに、...
-
コマンドプロンプト実行後に画...
-
C#で右からnカラム目に文字を挿...
-
オーバーロードの「あいまい」...
-
10進の自然数を2進数に変換する...
-
VBPをダブルクリックするとたま...
-
javaの質問です 次の機能を有す...
-
onClickで関数呼出し後に、結果...
-
Labelコントロールに数字を代入...
-
HyperLinkのNavigateUrl属性に...
-
JAVA コンパイル時のエラー
-
javaの質問です 次の機能を有す...
-
ShellExecuteってなんで関数?
-
VBA/FIND関数を使っての先頭文...
-
Javaのクラスのstaticメソッド...
-
System.load() と System.loa...
-
JSPで<SELECT>の中にDBから持っ...
-
配列のメソッド
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで、条件に一致する...
-
エクセルVBAにおけるON TIMEメ...
-
【sendkeysメソッドが動かずに...
-
コマンドプロンプト実行後に画...
-
onClickで関数呼出し後に、結果...
-
DataGridViewでセルクリックイ...
-
Labelコントロールに数字を代入...
-
ExcelのxlDialogInsertPictureで。
-
final修飾子を使っているのに、...
-
JSPで<SELECT>の中にDBから持っ...
-
VBPをダブルクリックするとたま...
-
Excel VBA でExcelを終了したい...
-
Refreshメソッドの使い方
-
ウィンドウを最前面にできません
-
javascriptからjavaを呼び出したい
-
VB.netで、シリアル通信のタイ...
-
mainメソッドのthrows節で設定...
-
VBAでSaveAs使用し、指定してい...
-
PDFファイルから別ウィンドウで...
-
Application.Wait の参照設定
おすすめ情報