¿Cómo evita que un usuario publique datos varias veces en un sitio web?

Estoy trabajando en una aplicación web (J2EE) y me gustaría conocer las opciones disponibles para gestionar una doble publicación desde el navegador.

Las soluciones que he visto y usado en el pasado son todas del lado del cliente:

Deshabilite el botón de envío tan pronto como el usuario lo haga clic.Siga un patrón POST-Redirect-GET para evitar las POST cuando el usuario haga clic en el botón Atrás.Maneje el evento onSubmit del formulario y realice un seguimiento del estado del envío con JavaScript.

Preferiría implementar una solución del lado del servidor si es posible. ¿Hay mejores enfoques que los que he mencionado anteriormente o son mejores las soluciones del lado del cliente?

Respuestas a la pregunta(7)

Su respuesta a la pregunta