web中的session和cookie基本知识

1、服务器是如何做到一个session为一个浏览器的多次请求而服务
1.1  服务器创建session出来后,会把 session的id号,以cookie的形式回写给客户机,这样,只要客户机的浏览器不关,再
去访问服务器时,都会带着session 的id号去,服务器发现客户机带session id过来了,就会使用内存中与之对应的
session为之服务

2、如何做到一个session为多个浏览器服务
2.1  服务器第一次创建session,程序员把session id号,手工以cookie的形式回送给浏览器,并设置cookie的有效期
这样,即使用户的浏览器关了,开新浏览器时,还会带着session id找服务器,服务器从而就可以用内存中与之对应的
	session为第二个浏览器窗口服务
		HttpSession session = request.getSession();
		session.setAttribute("data", "abc");	
		String sessionid = session.getId();
		Cookie cookie = new Cookie("JSESSIONID",sessionid);
		cookie.setMaxAge(1*3600);
		cookie.setPath("/day07");
		response.addCookie(cookie);



3、如何做用户禁用cookie后,session还能为多次请求而服务
3.1  把用户可能点的每一个超链接后面,都跟上用户的session id号


4、session对象的创建和销毁时机
4.1 用户第一次request.getSession时
4.2 session对象默认30分钟没有使用,则服务器会自动销毁session,
4.2.1  用户在web.xml文件中手工配置session的失效时间

4.2.2  用户可以手工调用session.invalidate方法,摧毁session


5.销毁cookie

//通过设置同文件目录下的同一个cookie名称的有效时间为0
Cookie cookie = new Cookie("lastAccessTime",System.currentTimeMillis()+"");
		cookie.setMaxAge(0);
		cookie.setPath("/day06");
		
		response.addCookie(cookie);


阅读更多
个人分类: Java web
上一篇让web应用被外界访问的三种方式:
下一篇java web自定义el函数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭