Servlets 如果没有';t以前的表格提交请求关联

Servlets 如果没有';t以前的表格提交请求关联,servlets,post-redirect-get,Servlets,Post Redirect Get,我正在实现Post Redirect Get解决方案,以防止在浏览器上刷新页面时重复提交表单。我的应用程序是一个纯Servlet web应用程序 我已经设置好了,但是我想阻止用户访问我的表单成功页面。如果没有以前的表单提交请求关联,您将如何做到这一点 我考虑过一些用salt编码的参数,但也许有一种更简单的方法 您可以使用HttpSession传递参数 见: 要阻止请求,您可以使用一个过滤器来阻止直接调用表单成功页面的尝试 这里有一个使用过滤器的例子:通常,您不会重定向到成功页面。而是重定向到显示

我正在实现Post Redirect Get解决方案,以防止在浏览器上刷新页面时重复提交表单。我的应用程序是一个纯Servlet web应用程序

我已经设置好了,但是我想阻止用户访问我的表单成功页面。如果没有以前的表单提交请求关联,您将如何做到这一点


我考虑过一些用salt编码的参数,但也许有一种更简单的方法

您可以使用HttpSession传递参数

见:

要阻止请求,您可以使用一个过滤器来阻止直接调用表单成功页面的尝试


这里有一个使用过滤器的例子:

通常,您不会重定向到成功页面。而是重定向到显示您刚刚创建的资源的页面,或重定向到显示您刚刚修改的资源列表的页面。这些页面无需提交表单即可访问。关于参数,是的,它们必须在重定向URL中。我正在实现的表单是一个注册表单,因此没有来自用户P.O.V.的“刚刚创建的资源”,我只需要重定向到“您已注册”页面,并带有“激活您的帐户”link我看不出这个激活页面有任何问题,称为standalone(即使不是故意的),你在其中的链接应该包含某种安全令牌+你需要在服务器端实施安全检查。我想这正是我要问的,如何使安全令牌成为您刚刚创建的资源是用户注册。它应该存储在数据库中,因此有一个ID、一个通过电子邮件发送以供确认的随机令牌,以及一个过期日期。