質問: a href="..." とservlet htmlファイルに以下のタグを書きました。 ここ 上記の「ここ」を押すと、test.javaのdopost()ではなく、doget()が 呼ばれるんですか?よく分からなくなってきました(x_x;) わたしの作ったプログラムはdopost()しか再定義していませんので、動きませんでした。(後でdoget()を再定義したら動いたんですが) ちなみに、ieでアドレスとして"http://localhost:8080/.../servlet/test" を指定したら、doget()なしで動きました。ここではdopost()が呼ばれてるということですよね。。? どうしてでしょうか?教えて下さい。
回答: 私はいつも、全てのサーブレットの親クラスにこんな定義をしておきます。 いちいち、これはgetかpostか?って考えるの大変ですもんね。 こうすると、親クラスのperfomtask()で、セッション関連の共通処理とかを書いておけるし、親クラスにlog排出処理のメソッド作っておけば、全サーブレットで使えますし。 //親クラスの定義 public void doget(httpservletrequest req,httpservletresponse){ performtask(req,res); } public void dopost(httpservletrequest req,httpservletresponse){ performtask(req,res); } protected void performtask(httpservletrequest req,httpservletresponse){ perfomtask0(req,res); } 子クラスの定義 protected void performtask0(httpservletrequest req,httpservletresponse){ //処理記述 }