一、会话技术
-
会话:一次会话中包含多次请求和响应(同一个浏览器属于一个会话,不同浏览器属于不同会话)
一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止
-
功能:在一次会话的范围内的多次请求间,共享数据
-
方式:
客户端会话技术:Cookie
服务器端会话技术:Session
二、Cookie 快速入门
-
概念:客户端会话技术,将数据保存到客户端
-
使用步骤:
(1)创建Cookie对象,绑定数据
* new Cookie(String name, String value)
(2)发送Cookie对象
* response.addCookie(Cookie cookie)
(3)获取Cookie,拿到数据,存在多个 Cookie,所以返回的是一个数组
* Cookie[] request.getCookies()
@WebServlet("/cookieDemo1")
public class CookieDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.创建Cookie对象
Cookie c = new Cookie("msg","hello");
//2.发送Cookie
response.addCookie(c);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
@WebServlet("/cookieDemo2")
public class CookieDemo2 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//3. 获取Cookie
Cookie[] cs = request.getCookies();
//获取数据,遍历Cookies
if(cs != null){
for (Cookie c : cs) {
String name = c.getName();
String value = c.getValue();
System.out.println(name+":"+value);
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}