Web——HttpSession和HttpCookie
介绍
HttpSession提供一种方式,跨多个页面请求或对 Web 站点的多次访问标识用户并存储有关该用户的信息。
HttpSession是存在服务器的用来保存数据的域。
(存在与作用)
我的问题是:为什么显示个名字就能是自动登录了
能获取名字 ==》 能获取session ==》 session内对象还存在 ==》 对该对象的操作依然生效
maven的clean可以直接删除target
方法
(HttpServletRequest的方法)
HttpSession getSession()
参数:无
返回值:HttpSession
返回值意义:获取request请求头set-Cookie: 对应Session对象,如果没有生成HttpSession对象
作用:获取request请求头set-Cookie: 对应Session对象,如果没有生成HttpSession对象
(HttpSession的方法)
String getId();
参数:无
返回值:String
返回值意义:获取该httpSession对应的JSESSIONID值
作用:获取该httpSession对应的JSESSIONID值
void setAttribute(String name , String value)
参数:
String name: 存储的键名
String value:存储的键值
返回值:无
返回值意义:无
作用:在Session域中存储信息
String getAttribute(String name)
参数:
String name:存储的键名
返回值:String
返回值意义:从Session中取出对应键值的数据
作用:从Session中取出对应键值的数据
(Cookie):Cookie实际使用率并不高,因为数据保存在客户端不安全。
作用:用于保存用户信息,用于每次请求后自动提交。
Cookie是保存在客户端的自定义消息头。服务器附加在响应头中,set-Cookie作为key,value:作为值
( 存在和作用)
Cookie cookie(String key , String value)
生成cookie对象
void setPath(String url)
设置cookie在客户端存放的路径
setMaxAge(int age)
设置cookie存活的秒数
String getValue(String key)
根据key值获取cookie的value值
Cookie cookie = new Cookie("newCook","1"); cookie.setPath("/"); cookie.setMaxAge(60*60);
使用
1,30分钟无使用自然结束.(默认30分钟,可设置.方法:setMaxInactiveInterval(int)).
2,手动杀死(方法:invalidate()).
3,服务器非自然关机,session会被干掉.(自然关机的话,Session被钝化到硬盘)