美文网首页工作中源代码学习
JavaWeb中Session使用探究:表单重复提交;在线人数等

JavaWeb中Session使用探究:表单重复提交;在线人数等

作者: ___TheOne___ | 来源:发表于2018-03-29 14:26 被阅读12次

    JavaWeb中session是一个极其重要的概念,之前只是知道有这个东西,没有深入了解它。

    契入方式:JavaWeb技术内幕中,有一个章节讲解Session使用。

    1.session避免表单重复提交

    文章链接:https://www.cnblogs.com/xdp-gacl/p/3859416.html

    首先session是存在服务器端内存中的,session的清理是需要服务器清理(在tomcat或者其他服务器中可以配置)或者你手动清理session.invalidate()。

    其次博主的思路是,JSP页面不能让浏览器直接访问,需要经过一个产生令牌的servlet之后跳转过去,也就是当你能访问这个JSP页面的时候,session域中有一个token是,JSP的隐藏域也有一个token两者是对应的。如果你在去开一浏览器,再次能访问到JSP页面的时候,servlet又会产生另外的令牌了,所以在这种一对一的机制下,保证了不能重复提交。(servlet判断完是否重复提交,最好能立马移除token,不然还没有移除的时候,客户端那边儿的请求又来了,就又能匹配了,产生了重复提交)

    但这种解决方案的失败点在于:必须访问同样的web服务器节点才可以保证JSP页面提交过来的token和原来服务器生成的token能够匹配。

    产生原因是:session是存在于服务器内存中的。

    进阶:

      如果有一种机制可以解决多服务器节点的数据共享,存在这样一个域那就可以解决了。--- 集群中服务器session共享

    2.系统在线人数动态更新

    相关文章

      网友评论

        本文标题:JavaWeb中Session使用探究:表单重复提交;在线人数等

        本文链接:https://www.haomeiwen.com/subject/bapmcftx.html