1

サーブレットを介してデータベースに挿入した後、ページを「ホーム」ページにリダイレクトします。ただし、更新すると、データは引き続き渡され、DB で重複が発生します。

システム フローは次のようになります。プロジェクトが一覧表示されているページを読み込みます。プロジェクトをクリックすると、ページ内の div が変更され、コメント用のテキスト領域が表示されます。コメントの送信をクリックすると、値がデータベースに挿入され、ページはプロジェクトのリストのないページにリダイレクトされます。ただし、更新すると、データは引き続き渡されます。

実際にデータを削除する方法や、更新時にデータを渡さない方法を知っている人はいますか? ありがとうございました!

4

2 に答える 2

0

この症状は、リダイレクトではなく、実際にリクエストをホーム JSPに転送していたことを示しています。post 後の実際のリダイレクトでは、この問題はまったく発生しないはずです。

したがって、次のように実際にリダイレクトを実行していることを確認してください

response.sendRedirect(request.getContextPath() + "/home.jsp");

したがって、次のようにフォワードではありません

request.getRequestDispatcher("/home.jsp").forward(request, response);
于 2012-04-26T05:40:38.560 に答える
0

最も可能性の高い状況は、最初のリクエストを送信した後、ブラウザの URL が変更され、それが servlet-URL に表示されることです。したがって、更新ボタンを押すと、サーブレットが直接呼び出されるため、同じプロセスが再度実行されます。例えば ​​-

現在のブラウザの URL は -- www.myurl.com/mypage.jsp です

リクエスト URL は www.myurl.com/mypage.action (サーブレットに指示)

最初のリクエストを送信した後、ブラウザの URL は www.myurl.com/mypage.action になります

したがって、ページを更新するたびに、サーブレットを直接呼び出します。

解決策は、リクエストの完了後にサーブレットで jsp ページを再度リダイレクトすることです。

于 2012-04-26T05:41:58.597 に答える