一、会话技术
- 概念
- 就是用户打开浏览器访问网站开始直到关闭浏览器的过程就是一次会话。在一次会话过程中会有数据的产生,需要使用容器来存储,存储会话过程中产生的数据。
- 分类:
- Cookie
- Session
二、Cookie技术
-
概念:
- Cookie属于一个类,可以直接创建对象
- Cookie是在服务器端创建的,然后tomcat服务器会将创建的Cookie以及Cookie中的数据响应给浏览器,保存到浏览器端。
-
作用:
-
利:
-
减轻服务器压力。
-
使用HttpServletResponse中的对象调用方法addCookie将服务器创建的cookie直接保存到浏览器端
-
当我们下次访问同一个服务器会携带相同的cookie信息,在服务器中我们可以使用
HttpServletRequest对象调用方法getCookies获取随着请求携带过来的所有的cookie。
-
-
弊:不安全。
-
-
总结:
- Cookie是在服务器端创建的,然后tomcat服务器会将创建的cookie以及cookie中的数据响应给浏览器,保存到浏览器端。
-
Cookie在实际开发中的应用场景
- 购物车中用户选择的数据
- 登录页面的记住用户名和密码功能
- 原理:
- 浏览器:
- Cookiez中含有用户名和密码的值
- 再次访问登录页面的时候login.html,会携带Cookie到服务器端。
- 服务器:
- 我们在服务器端使用request对象调用方法取出用户名和密码的 Cookie并显示到页面中。
- 获取用户名和密码
- 获取记住用户和密码的复选框的value值。
- 将用户名和密码传递到dao层,到数据库中查询,是否存在。
- 判断复选框的value属性值,如果勾选复选框,value属性值是“on”。
- 创建cookie类的对象,向cookie中存储正确的用户名和密码
- 将cookie响应给浏览器。
- 我们在服务器端使用request对象调用方法取出用户名和密码的 Cookie并显示到页面中。
- 浏览器:
-
Cookie的常用API
-
构造方法
-
Cookie(String name, String value)
-
-
操作cookie类中的name和value方法
-
String getName() //获取cookie类中的name值
-
String getValue() //获取cookie类中的value值
-
void setValue(String newValue) //修改value值
-
-
使用HttpServletResponse中的对象调用方法addCookie将服务器创建的Cookie直接保存到浏览器端
-
void addCookie(Cookie cookie) //参数需要一个Cookie类的对象
-
-
使用HttpServletRequest对象调用方法getCookies获取随着请求携带过来的所有的cookie。
-
Cookie[] getCookies() //获取随着请求的所有cookie放到数组中
-
-
其它API
-