1

我正在尝试实现一个同步令牌并且它有效,但是我想忽略最后一个请求(或第一个请求之后的其他请求)。例如:如果我不放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。谢谢。

4

0 回答 0