session和cookie知识点总结

cookie小结:
1、cookie是在服务端创建
2、cooki是保存在浏览器这一端
3、cookie的生命周期可以通过 cookie.setMaxAge(2000);
(如果不设置生命周期,cookie的生命周期当浏览器关闭时就消亡)
4、cooki可以被多个浏览器共享(这是与session的区别)
5、一个web应用可以保存多个cookie。但保存在同一个cookie文本在客户端浏览器下。
6、cookie存放时候是以明文方式存放,因此安全性较低,可以通过加密后存放。

{
cookie的细节:
1、一个浏览器最多放入300个cookie,一个web站点最多20个cookie,而且一个cookie大小限制4k
2cookie的生命周期:
setMaxAge(正数)  设置生命周期
setMaxAge(0)     删除该cookie
setMaxAge(负数)  cookie的生命周期是会话级别

}

//先得到cookie
Cookie cookies[]=request.getCookies();
for(Cookie  cookie:cookies){
    if (cookie.getName().equals("id");{
       System.out.println('id");
       // 删除
       cookie.setMaxAge(0);
       response.addCookie(cookie);//一定要加上这一句,否则不能删除

}
}

如果cookie中存放中文
String val=java.net.URLEncoder.eencode("测是","utf-8");
       Cookie Cbookie=new Cookie("name",val);
取出
String  val=java.net.URLDecoder.decode(cookie.getValue(),"utf-8");
        out.println("name="+val);

cookie的生命周期则是指的是累计时间。

 

seession总结:
1、session是存放在服务器的内存中。
2、一个用户的浏览器。,独享一个session域对象
3、session中属性默认的生命周期是30分,可以通过web.xml来修改

{
设置session的生命周期tomcat/conf/web.xml
1、<session-config>
             <session-timeout>30</session-timeeout>
   </session-config>

2、session.setMaxInactiveinterval(60)  发呆60秒后session失效

session和 cookie的生命周期小结:
session的生命周期是指发呆时间,如果我们设置session是10s
,是指,在10s内,在方法问第9s时,则重新计时
如果重启tomcat,或者reload  web应用,或者关机则session会失效。
   
session中可以存放多个属性
session中可以存放对象
如果session. setAttribute("name",val),如果名字重复,则会替换该属性。






面试:
(应用关掉后,上次购买的商品还在--这涉及到session的销毁时间)

时间周期的存在。


}

session:
为什么服务器能够为不同的浏览器提供不同的session?

   因为每个浏览器取访问web站点的时候,如果发出的http请求没有带JSESSIONID头就会自动给你创建一个并返回

       

 

 



session和cookie的区别:

存放位置:
1、cookie存放在客户端的临时文件里。,创建与服务端,保存在浏览器,可以有多个浏览器共享
2、session存在服务器的内存中,一个session域对象为一个用户浏览器服务。

2、安全性:
1、cookie是以文明方式存放在客户端,安全若,可以通过md5再存放、
2、session是存放在服务器端的内存中,所以安全性好。


3、网络传输量
1、cookie会传递信息给服务端
2、session的属性值不会给客户端

4、生命周期:
cookie的生命周期是指累计时间
session的生命周期是指间隔时间

5、在以下情况下session也会失效:
1、关闭tomcat
2、reload   web应用
3、时间到了
4、invalidate也会让session失效。


6、使用原则:
session会占用服务器的内存

7:从范围来看
session为单用户独享
cookie为多个用户浏览器共享



保存信息的方法有两种:
1、保存在文件里面,
2、保存在数据库里面     





网站计数器(servletContext)

 

posted @ 2017-12-17 22:51  何双新  阅读(645)  评论(0编辑  收藏  举报