一、原Cookie对象:name属性为username
package 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(name = "cookieServlet", urlPatterns = "/cookieServlet")
public class CookieServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("cookieServlet service ......");
// 1. 创建Cookie对象
Cookie cookie = new Cookie("username", "admin");
// 2. 设置Cookie对象的存活时间
cookie.setMaxAge(100);
// 3. 使用响应将Cookie对象发送到浏览器
resp.addCookie(cookie);
}
}
二、新Cookie对象:name属性也为username
package 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(name = "cookieServlet02", urlPatterns = "/cookieServlet02")
public class CookieServlet02 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("cookieServlet02 service ......");
// 1. 创建Cookie对象
Cookie cookie = new Cookie("username", "administrator");
// 2. 设置Cookie对象的存活时间
cookie.setMaxAge(100);
// 3. 使用响应将Cookie对象发送到浏览器
resp.addCookie(cookie);
}
}
三、打印Cookie信息
package 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(name = "cookieServlet03", urlPatterns = "/cookieServlet03")
public class CookieServlet03 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("CookieServlet03 service ......");
// 1. 获取请求中的所有Cookie信息
Cookie[] cookies = req.getCookies();
// 2. 如果Cookie数组不为null,则执行遍历操作
if (cookies != null) {
for (Cookie cookie : cookies) {
String name = cookie.getName();
String value = cookie.getValue();
// Output:
// JSESSIONID = 483B44926899E8F81C528CC940A6A812
// username = administrator
// Idea-e40de663 = 60f98240-9407-4b66-a2e6-8074ccd1c183
System.out.println(name + " = " + value);
}
}
}
}
注意:最后输出中的username = administrator,因为原Cookie对象与新Cookie对象中的name属性值均为username,所以新Cookie对象中的value属性值administrator覆盖了原Cookie对象中的admin。