显示服务器时间servlet,jsp+servlet登录demo例子之设置Session有效时间的三种方式

在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)

先看效果图:

5f44669d9023f819b9cfa4031178418d.png5f44669d9023f819b9cfa4031178418d.png

这样,当session过了有效时间,用户点击其他操作时,session中就没有用户的相应信息,用户再次进入主页或登录页面的时候,就会显示用户没有登录。

5f44669d9023f819b9cfa4031178418d.png5f44669d9023f819b9cfa4031178418d.png

项目访问地址:http://localhost:8080/jsp-servlet/login.jsp

项目结构图:

5f44669d9023f819b9cfa4031178418d.png

主要代码:

5f44669d9023f819b9cfa4031178418d.png

以上就是本登录demo例子的全部内容,希望对大家的学习有所帮助。

适合初学者学习。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值