※ ChatGPTを利用し、要約された質問です(原文:doGetとdoPostの違い)
このQ&Aのポイント
doGetとdoPostは、ブラウザからのリクエストの種類に対応するメソッドです。
doGetはブラウザからのGETリクエストに対応し、doPostはPOSTリクエストに対応します。
doGetとdoPostの中身のコーディングの仕方は同様であり、送信量の違いだけがあります。
それぞれブラウザからのリクエストの種類に対応する
メソッドがdoGet,doPost。
doGetはブラウザからGETでそのサーブレットに
リクエストがあった時に、処理が始まるメソッド、
doPostは同じようにPOSTを受け取った時に動き出す
・・・・・ということなのですが、
doGetもdoPostも、中身のコーディングの仕方としては
同様でいいのでしょうか?
いま、doGetでリクエストに対応する処理をうけつけて
いるのですが、255バイトまでなのでdoPostのほうが
いいということがかかれていました。
これは、ブラウザ:Servletのメソッドで対応してれば
いいだけで、結局は送信量の違いだけですか?
そのへんがよくわかってないので教えてください。
ちなみに、doGetでやってる処理は、
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
//Bean(workBean)のインスタンス作成
wk = new work_Bean();
//Bean処理実行
wk.Work();
・
・
・
・
//BeanをJSPに渡すためにHttpServletRequestオブジェクトにセット
request.setAttribute("wk",wk) ;
//ViewであるJSPを呼び出す
RequestDispatcher rDispatcher =
request.getRequestDispatcher("/kanri_JSP.jsp");
rDispatcher.forward(request,response);
}
こんなかんじでしてます。
あとは、ネットで、人のサンプルとかみると
doGetメソッドに処理をかいており、doPostでは
doGet(request,response);として
doGetをよんでたりするんですが、
これは、PostでもGetと同様の処理ができると
いうことですか?
基本的な質問過ぎるかとおもいますがおしえてください。
補足
解答ありがとうございます。 別にコーディング上は意識しなくてもいいのですね。 今やってみたらそのとおり、でした。 >普通は、html や JSP の方も、Servlet を意識して書く >でしょうから、 >どちらかだけの実装で良いのですが、汎用的(呼ぶ人を特 >定しない)な Servlet >を書こうと思ったら、両方を実装しておく、と理解してお >けば良いです。 なぜ、両方を実装するのでしょうか? 呼ぶ人を想定しない、・・・からなのでしょうが、 いまいち、具体的になぜ、なのかわかりません。 HTMLやJSPがGetやPostの両方を使う場合があるから?? うーん、勉強不足ですみません。。 >GET の制限は、どちらかというとブラウザ側の実装によっ >て決ってくることで、 >POST に制限があるとしたらサーバ側(例えば、Servlet >コンテナ)の実装に >よってきます。 ああ、そうなんですか。勉強になりました。。 ありがとうございます。