I've always felt that failure to recognize and allow for multiple submits is ultimately a fault in the application itself, but it is a serious problem, and more recent releases of JSF are supposed to allow for this - I haven't read up on the details, though.
In the case of a bookmarked request, however, that may be asking too much of the framework - if the user clicks the bookmark three weeks later and the server has been shutdown and restarted, it probably isn't going to be able to detect the duplication. For that, you may need application logic.
Customer surveys are for companies who didn't pay proper attention to begin with.
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: how to prevent duplicate form submission in JSF framework