在web中常用的两种用户信息管理方式:cookie和 session.
cookie是保存在用户客户端的数据,用于避免每次发送http请求时,连带过多的数据,造成复杂化。所以Cookie保存在客户端中,根据服务器端的要求,保存特定的内容,在每次http请求后,自动添加一定的内容。
session是保存在服务器端的数据,用于验证几次请求是否属于同一会话,在同一会话中,会避免进行不必要的验证,保证用户的操作连贯性。
合理的使用session与cookie都会保证web应用的高可以用性,以及良好的用户体验。但是不必要的操作也会影响到web安全风险和服务器的使用效率。
下面介绍session声明周期
session生命周期中包含3个阶段:
1 创建
在第一次用户访问JSP页面时,会创建相应的session,保存在服务器中。之后的请求,服务器都会携带此session id进行校验。
2 活动
在同一会话期间,打开新的链接都属于同一会话。
3 销毁
关闭浏览器;使用session.invalidate()销毁session;会话过期
在Session中保存用户信息,不可能总是有效,所以有设置Session的有效时间,如下:
(1)在主页面或者公共页面中加入:
HttpSession session=request.getSession(true);
session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
15
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
需要注意的是如果上述三个地方如果都设置了,有个优先级的问题,从高到低:
(1)-->(2)--->(3)
先看效果图:
这样,当session过了有效时间,用户点击其他操作时,session中就没有用户的相应信息,用户再次进入主页或登录页面的时候,就会显示用户没有登录。
项目访问地址:http://localhost:8080/jsp-servlet/login.jsp
项目结构图:
主要代码:
以上就是本登录demo例子的全部内容,希望对大家的学习有所帮助。
适合初学者学习。。