1

これが私のフォームがデータをサーブレットに投稿するシナリオです。サーブレットはその代わりにデータベースに変更を加え、オブジェクトをリクエスト属性にアタッチして、JSPページに転送します。

ここで問題となるのは、JSPの更新ボタンがクリックされた場合、プロセスがループバックし、フォワードであったため、サーブレットがデータを再入力することです。サーブレットからjspページに転送する代わりにリダイレクトし、リクエストではなくセッションに属性としてオブジェクトをアタッチすることで、この問題を実際に解決できました。

しかし、私はこれを行うためのより良い方法があるかどうか知りたいですか?

セッションで遭遇したすべてのものを保存したくありません。これが更新イベントであったかどうかを知る方法はありますか?

4

1 に答える 1

0

を使用してデータを投稿できますGET or POSTGETメソッドがリフレッシュされた場合which is idempotent、 、browser automatically makes request to the server.

しかし、メソッドが、、、だっPOSTwhich is non-idempotent場合the browser will raise a popup asking the user to really post the data and this may repeat the operation again

GET を使用している場合は、POST に変更することをお勧めします。

しかし、最善の解決策は POST + REDIRECT + GET です。

于 2012-06-07T14:10:25.693 に答える