1.Web基础中会话控制

学习内容:

1.问题引入

①web中发送的请求和响应均是基于HTTP协议。

②HTTP协议是一个无状态的协议:每次请求开启一个新连接,完成请求关闭连接。下一次在发出请求时会开启新的连接,和上一个连接无联系。

实现登录系统时,服务器端不能识别每次请求来自于同一个用户,造成每次请求都需要重新登录。

③实现需求:识别操作是否来自同一个用户。

2.cookie机制

①创建cookie对象

Cookie cookie = new Cookie("Name","value");

②添加cookie对象

request.addCookie(cookie);

③获取cookie

String  name = cookie.getName();

String  value = cookie.getValue();

3.cookie有效时间

持久化设置方法:setMaxAge(int age)

①默认age<0;会话级cookie(浏览器关闭则消失)。

②age>o;在age秒内有效。

③age==0;命令浏览器删除cookie

4.Session机制

       ①创建机制

              HttpSessionsession = request.getSession();

              注意:在执行上面代码时,request对象中没有JSESSIONID这个Cookie服务器端就会创建一个新的Session对象返回,同时创建一个JSESSIONID Cookie回 送到浏览器端如果请求中携带了JSESSIONID的Cookie,根据这个JSESSIONID的值在服务端查找对应的Session对象。

       ②Session的有效时间

              全局配置中,默认时间:

<session-config>

                            <session-timeout>30</session-timeout>

                     </session-config>

              Session的有效时间:

                     intinterval = session.getMaxInactiveInterval();以秒为单位

              修改Session的有效时间:

                     session.setMaxInactiveInterval(30);

              强制Session对象立即失效:

                     session.invalidate();

       ③默认session:

              默认情况下JSESSIONID Cookie是一个会话级的Cookie,浏览器关闭后会被释放。

              可以通过将JSESSIONID Cookie设置为持久化Cookie就能够找到原来的Session对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值