• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Paul Clapham
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Liutauras Vilda
Saloon Keepers:
  • Tim Holloway
  • Carey Brown
  • Roland Mueller
  • Piet Souris
Bartenders:

Confirm form resubmission?

 
Ranch Hand
Posts: 153
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I just wrote a simple servlet with a doPost() implementation (no doGet()).

I fill out a simple HTML form with one textfield and two radio buttons. When I press the submit button, it takes me to my servlet that prints out my submitted name and my radio button choices.
So now my browser is sitting at the servlet URL with the results on the page:

name: Ryan (text field)
year: Second Year (radio button)
specialization: Application Development (radio button)

What exactly happens when I press F5 on this page and I say 'Yes' to Chrome's "Confirm form resubmission"?
I was surprised, because the browser remembered my previously entered request parameters, when I know that these should be destroyed upon exiting the servlet's HTTP method.

So, this is what I assume:
What the resubmission does is re-enter exactly the same request parameters back into the previous form and it hits the submit button for me, which brings me back to the page of the servlet (/Choice).

I'm not sure, so if anyone knows what happens on forced form resubmission (F5)?
 
Rancher
Posts: 43081
77
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It does exactly that: it submits the same request -including all form parameters- again. All browser work this way, not just Chrome. That's why you should implement the PRG pattern for form submissions.
 
Sheriff
Posts: 67756
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
You might also be interested in this article which goes into more detail.
 
Ryan McClain
Ranch Hand
Posts: 153
1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Interesting stuff.
reply
    Bookmark Topic Watch Topic
  • New Topic