session相关知识

       1、Session小结

            ①  Session是存在服务器的内存中;

            ②  一个用户的浏览器是独占一个session域对象;

            ③  Session的生命周期默认为30min,可以通过web.xml文件对生命周期进行修改;

                  修改方式有两种:

                       a、在tomcat中,conf/web.xml文件中进行修改

                            <session-config>

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

                            </session-config>

                        b、在web应用中,web.xml文件

            ④  Session中可以存放多个属性

            ⑤  Session中也可以存放多个对象

            ⑥  Session.setAttribute(‘name’,val),如果名字重复,则会替换该属性。


      PSCookie知识点补充

        在Cookie中,不能够传入中文,否则读取数据出现乱码的情况。

            解决方法如下:

               存放

                 使用java.net.URLEncodder.encode(‘胡蝶’,”utf-8”);

                 可以传入的值转换成为utf-8的格式,

               读取值得时候进行解码

                 使用java.net.URLDecoder.decode(cookie.getvalue(),”utf-8”);


       2、Session的生命周期

              session.getMaxInactiveInterval(20);表示设置的时间为20S

          问题:通过这种方式设置的是session的(间隔时间)发呆时间,那何为发呆时间?

               其实所谓的发呆时间就是指如果在这20s的时间内不去访问这个session中存储的属性,该session中的属性           就会失效,也就是说无法访问到,如果在第19S中的时候对该session中的属性进行访问,那session则会从你             19s访问属性的 这一刻重新计算时间。

               即表示当时间超过了20s,这个session就不存在了。

 

        ¤如果重启tomcat,或者reload web应用或者关机之后,session就会失效。

        ¤我们也可以通过函数的方式,让session失效

             Invalidate()=è该方法是让session中所有的属性失效,一般用于银行的登录系统中,如安全退出。

       对比Cookie

           Cookie设置的是cookie.getMaxAge(20);

          该Cookie设置的生命周期是累计的时间,如果设置为20s那就表示只要超过这20s不访问Cookie中的属性,那该      属性就是失效的。就算在第19S对Cookie中的属性进行访问,在20s之后,Cookie中的属性依然会失效,不会重新      计算时间。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值