16.1 会话技术_概述
- 会话: 一次会话中包含多次请求和响应。
- 一次会话: 浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开为止。
- 功能: 在一次会话的范围内的多次请求间,共享数据。
- 方式:
- 客户端会话技术: Cookie
- 服务器端会话技术: Session
16.2 会话技术_Cookie_快速入门
- Cookie:客户端会话技术,将数据保存到客户端。
- 使用步骤:
- 1.创建 Cookie对象,绑定数据
new Cookie(String name, String value)
- 2.发送 Cookie对象
response.addCookie(Cookie cookie)
- 3.获取 Cookie,拿到数据
Cookie[] request.getCookies()
- 1.创建 Cookie对象,绑定数据
- 示例:
package com.xww.cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/cookieDemo1")
public class CookieDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.创建Cookie对象
Cookie c = new Cookie("name","xww");
//2.发送Cookie
response.addCookie(c);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
package com.xww.cookie;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@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);
}
}
16.3 会话技术_Cookie_原理分析
图示: