我的网站运行在springmvc(4.2.9.RELEASE)和Tomcat(8.0.33)上。我有一张表格来收集一些信息。我使用以下方法确保数据是通过页面输入的:
在显示窗体的GET方法中:
HttpSession session = request.getSession();
session.setAttribute("this_form", "dummy");
在POST方法中:
HttpSession session = request.getSession();
if (session.getAttribute("this_form") == null) {
//print "No dummy token", date/time, visitor's IP address;
}
该网站位于负载均衡器的后面。我注意到有时会打印“无伪标记”,只是有时。我想说99%的会话数据是在后方法中找到的。在会话数据丢失的情况下,打印输出只有一次,短时间内重复打印的次数不多。
上面的代码有什么问题吗?如果会话数据不是由恶意数据发布引起的,为什么会丢失?