多次表单提交后的响应

时间:2013-04-25 16:34:55

标签: java jsp servlets scriptlet

我正在尝试实现一个同步令牌,它可以工作,但最后一个请求(或第一个之后的其他请求)我想忽略。 例如: 如果我没有放入request.getResquestDispatcher()或response.sendRedirect,那么这些其他请求将转到空白页面(nullPointer,因为没有命令)。 此外,第一个请求,一切正常,将不会向用户发送一切正常的消息。

这就是我的做法。

@Override
  public void executa(HttpServletRequest request, HttpServletResponse response)
{
HttpSession session = request.getSession();

Object attribute = session.getAttribute("formToken");
System.out.println(attribute);

if (!request.getParameter("tokenHidden").equals(attribute.toString()))
{       
    return;
}
session.setAttribute("formToken", 1);
}
//some stuff...
response.sendRedirect("coletarproduto.jsp?mensagem=Produto Atualizado");

我这样做同步器令牌:

<form action="wms" method="post">   
<% session.setAttribute("formToken",Math.random()); %>
<input type="hidden" value="${formToken}" name="tokenHidden" /> 
</form>

我不喜欢使用scriptlet,但我也想不到其他解决方案。

我正在使用Tomcat和jsp。 感谢。

0 个答案:

没有答案