理解会话
啥是会话?
会话就是用户通过浏览器与服务器之间进行的一次通话,它可以包含浏览器与服务器之间的多次请求、响应过程。简单的说就是在一段时间内,单个客户端与文本服务器的一串相关大交互过程。
一次会话请求与响应的过程
session使用
原理:
当服务器创建完session对象后,会把session对象的id以cookie形式返回给客户端。这样,当用户保持当前浏览器的情况下再去访问服务器时,会把session的id传给服务器,服务器根据session的id来为用户提供相应的服务。
方法:
1.session.setAttribute(“key”, value);
2.session.getAttribute(“key”);
3.session.removeAttribute(“key”);
4.session.invalidate(); //删除所有session中保存的键
5.getId( ); //获取当前的会话ID
6、 修改session保存的对象或属性值:request.getSession().setAttribute(“name”, “values”);
7、getMaxInActiveInterval(); //获取会话的最大持续时间。8、setMaxInactiveInterval(int interval) ; //设置会话的最大持续时间
cookie使用
原理:
用户在浏览网站时,web服务器会将一些资料存放在客户端,这些字脸包含用户在浏览器网站期间输入的一些文字或者选择记录。当用户下一次访问该网站时服务器会从客户端擦还能看是否有保留的Cookie信息,然后根据Cookie的内容,呈现特定的页面给用户。
方法:
response.addCookie(Cookie cookie)是将一个cookie对象传入客户端。
Cookie cookie=new Cookie(String name,String value):构造一个cookie对象
request.getCookies():得到所有的cookie对象 cookie.getName():得到此cookie对象的名字 cookie.getValue(String name):得到对应名称的cookie的值
session与cookie的比较
1.session是在服务端保存客户信息,cookie是在客户端保存客户信息。
2.session中保存的是对象,cookie中保存的是字符。
3.session对象随着对话结束而失效,cookie可以长期保存在客户端。
4.通常cookie用于保存不重要的信息,而session用于保存重要信息。
request、session、application区别
三者相同点:
都可以存储属性
三者不同点:
request中存储的数据仅在一个请求中可用
session中存储的数据在一个会话的有效期内可用
application中存储的数据在整个Web项目中可用