- PR -

ServletからJSPにforwardする際の動作問題について

1
投稿者投稿内容
shimtes
常連さん
会議室デビュー日: 2004/09/09
投稿数: 40
投稿日時: 2004-09-22 00:12
Eclipse2.1.1+Tomcat4.1.27にてプログラムを作成しています。

ServletからJSPにforwardする際の動作で不可解な現象が発生しているためアドバイス頂きたく投稿します。

下記の形式のServletを実行するとA.jspにフォワードされA.jspが表示されましたが、一部の項目にて設定の値が狂いました。

試行錯誤を行いつつデバッカを用いて調べてみると以下の点が出てきました。
・フォワードしているA.jspをB.jspに変えてもA.jspにフォワードされてしまう。
 A.jspを削除するとエラーとなる
・ステップオーバで実行していくと、同じく作成した同様のプログラムで正常に
 動作するものはフォワードの行の後、doPostメソッドは実行せずにServletを
 抜けるが、このプログラムではdoPostメソッドに入ってしまう。
・デプロイの際に念のためTomcat webapps配下に以前デプロイされたwarファイル
 および展開されたフォルダ等を全て削除してきれいな形で行っても同様の現象
 となる

正直お手上げのため調査の仕方、気が付いた点等何でもかまいませんので、アドバイスをお願いします。

該当プログラム例:

public class AAA extends HttpServlet {

  protected void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, IOException {

    //request.setAttribute等設定

    getServletConfig().getServletContext().getRequestDispatcher("/A.jsp").forward(request,response);
  }

  protected void doPost(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, IOException {

    doGet(request,response);
  }
}
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-22 00:22
>・フォワードしているA.jspをB.jspに変えてもA.jspにフォワードされてしまう。
> A.jspを削除するとエラーとなる
この現象だけをみると再コンパイル、または再デプロイやサーブレットのリロードを行っていないように見えますね。
shimtes
常連さん
会議室デビュー日: 2004/09/09
投稿数: 40
投稿日時: 2004-09-22 00:52
インギさん、コメントありがとうございます。

>この現象だけをみると再コンパイル、または再デプロイやサーブレットの
>リロードを行っていないように見えますね。

通常だとそうですよね。。。
記載致しましたが、自分もそう思って配置されたwarファイル、展開されたフォルダは全て削除、再デプロイ時にもTomcatの停止、起動は行っています。

何かキャッシュでもあるのか?とも思ってブラウザ関係の一時ファイル等は削除したのですが、現象は変わりませんでした。

その他アドバイスがありましたらよろしくお願いします。
未記入
大ベテラン
会議室デビュー日: 2003/06/28
投稿数: 219
投稿日時: 2004-09-22 01:09
こんばんは。
ソースコードが大変綺麗で何の問題もなさそうですので、あてずっぽうですが・・・
○プラットフォームがWindowsの場合、サービスでコンテナを起動している場合はサービスでリスタートしてみる。
○workディレクトリ配下も綺麗にしてみる。
○リコンパイルを実施する場合は、リコンパイル後コンテナをリスタートする。
うーん、既に実施済みでしたらすみません。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-09-22 01:09
forward先を変更する以外に、標準出力に何かメッセージを書き出すなどして反映されますか?
shimtes
常連さん
会議室デビュー日: 2004/09/09
投稿数: 40
投稿日時: 2004-09-26 18:06
Ken-Labさん、インギさんアドバイスありがとうございます。

Ken-Labさんのアドバイスによりworkディレクトリ以下を削除した所、
まともに動くようになりました。

ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)