10

これらのサーブレットメソッドについて疑問に思っていました。私はこれらの方法について何かを知っています

  • doPostパラメーター数に制限はありませんが、doGetあります。
  • doGetよりも高速ですdoPost
  • doPostより確保されていdoGetます。

そして私の質問は、これらのメソッドは同じパラメーターを取り、実装するプロセスを実行するためです。major difference次に、これらのメソッドとの間は何ですかAt which specific situation each of this method is used to process

4

9 に答える 9

7

あなたが言及した技術的な違いがあり、RESTメタファーについて話している部分があります。

POST と GET の他に、PUT と DELETE もあります。データを変更しない操作には GET、作成には POST、データの更新には PUT を使用する必要があります。DELETE は明らかにデータの削除用です。

于 2013-07-02T06:15:38.487 に答える
3

GET冪等であるべきですが、そうでPOSTないかもしれません。GETサーバーから何かを取得したい場合は、サーバーにPOSTデータを投稿することです。GET冪等性は、同じ操作を複数回適用しても同じ結果が得られることを意味します。一方、 と同様POSTに、さまざまな出力をもたらす副作用があります。冪等でない を書くことはできますGETが、それは慣習に反しており、問題が発生する可能性があります。GETリクエストはブックマークできます。POSTブックマークできません。GETでは、クエリ パラメータを制限する必要がPOSTあります。ファイルを送信してアップロードすることもできます。

于 2013-07-02T06:15:53.350 に答える
2

簡単に言えば、サーバーから何かを取得したいときにgetが使用され、ヘッダーが URL に表示されるため、リクエストに機密情報が含まれていません。投稿は、サーバーで何かを更新していて、リクエストにパスワードやアカウント番号などの重要なデータがある場合に使用されます。投稿の他の利点は、サイズが固定されていないため、無制限のデータを送信でき、データはどのような場合でも表示されません.

于 2015-07-27T11:11:14.540 に答える
0

service メソッドは、サーブレット コンテナーによって呼び出され、要求を処理し、適切な応答で応答します。リクエストが行われるたびにサービスメソッドが呼び出されます。次の点で既に行われているため、オーバーライドすることはありません。

  • doGet()
  • doPost()

doGet() - 情報を要求します。サーバーでは何も変更されません。doGet() メソッドは、デフォルトの HTTPServletRequest メソッドです。

doPost() - サーバーが必要とする情報を提供するために使用されます。

基本的な違いを書き留めただけですが、他にもパフォーマンス上の違いがあります。

于 2014-06-05T10:25:14.857 に答える
0

HTTP の GET メソッドと POST メソッドについて読んでおくべきだと思います。たとえば、ここから開始できます。あなたの質問は実際には Java やサーブレットとは関係ありませんが、Web プログラミングの非常に基本的なことと関係があります。

于 2013-07-02T06:15:23.270 に答える