the problem occurs often when inserting rows in a dabatase etc.
the solutions in this article are not sufficient
B) sessions: you can' t use sessions any more, because you always expect a new session to do the form action! Also its impossible to use the form later in your app...
the idea seams nice:
0) user on form-page clicks button
1) servlet checks a (POST or GET) form-request
2) if its new: do the action; if not: do nothing
3) then send a redirect to another page
4) browser submits a new GET request
5) browser gets a result page
6) refresh button gives this result page
back button goes back to form page (!)
next problem: how do you prepare the result page? you have to attach the result to the session ...