一.cookiehtml
1.什么是cookiejava
当用户访问服务器时,服务器会给浏览器发送一些信息 这些信息保存在cookie中。当浏览器再次访问服务器时,会在请求头中将cookie传给服务器,方便服务器对浏览器作出正确的响应浏览器
cookie就是这张小纸条服务器
2.cookie案例入门cookie
服务器添加cookie给浏览器session
服务器获取浏览器请求携带的cookieapp
Cookie[] cookies = request.getCookies(); for(Cookie c:cookies){ String name = c.getName(); String value = c.getValue(); System.out.println(name+": "+value); }
①浏览器请求时会接受到服务器传递的cookie。url
②浏览器再次请求时会将cookie传递给服务器spa
二.session.net
Session通常译为会话,是解决Http协议的无状态问题的方案,能够将一次会话中的数据存储在服务器端的内存中,保证在下一次的会话中能够使用。
在客户端浏览器第一次向服务器端发送请求时,服务器端会为这个客户端建立独有的Session,并具备惟一的Session ID,存储在服务器端的内存中。在客户端第二次访问服务器端时,会携带Session ID在请求中,服务器端会根据Session ID查找对应的Session信息,进行进一步地操做。
在JavaEE中提供了javax.servlet.http.HttpSession接口,经过该接口能够将共享的数据内容存储在HttpSession对象中,从而解决Http协议的无状态问题。
2.getsession的执行
第一次执行getSession方法,getSession会去请求头中寻找Cookie信息,Cookie名字:JSESSIONID。第一次执行没有这个cookie信息,因此直接建立一个新的Session对象,并将Session的ID,保存到Cookie中,发给浏览器。
第N次执行getSession方法,getSession会去请求头中寻找Cookie信息,若是Cookie中没找到,就建立一个新的。
若是Cookie中有Jsessionid信息,寻找内存中对应的Session对象,若是找不到,从新建立一个新的,而且写新的JSESSIONID进入cookie;
若是Cookie中Jsessionid信息能够对应上Session对象,就直接将这个Session对象返回并使用。
getSession() == getSession(true)
getSession(false); --à惟一区别是,若是找不到session对象,直接返回null
代码示例:
request.getSession().setAttribute("loginUser", loginResust);
前台获取存入session的值
当前登陆用户:${loginUser.name }