Cookie的基本使用
- 发送Cookie
- 创建Cookie对象,设置数据
Cookie cookie = new Cookie("key", "value");
- 发送Cookie到客户端:使用response对象
response.addCookie(cookie);
- 获取Cookie
- 获取客户端携带的所有Cookie,使用request对象
Cookie[] cookies = request.getCookies();
- 遍历数组,获取每一个Cookie对象:for
- 使用Cookie对象方法获取数据
cookie.getName();``cookie.getValue();
// AServlet.java, 发送cookie
@WebServlet("/aServlet")
public class AServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 发送Cookie
// 1. 创建Cookie对象
Cookie cookie = new Cookie("username", "zs");
// 2. 发送cookie, response
resp.addCookie(cookie);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
// BServlet.java, 获取cookie
@WebServlet("/bServlet")
public class BServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// 获取Cookie
// 1. 获取Cookie数组
Cookie[] cookies = req.getCookies();
// 2. 遍历数组
for (Cookie cookie : cookies) {
// 3. 获取数据
String name = cookie.getName();
if ("username".equals(name)) {
String value = cookie.getValue();
System.out.println(name + ":" + value);
break;
}
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}