Servlet API没有提供直接的方法来删除Servlet应用程序中的cookie。如果要删除cookie,则必须创建一个与要删除的cookie具有相同名称的cookie,并将其值设置为空字符串。您还需要将Cookie的最长使用期限设置为0。然后将此cookie添加到servlet的响应对象。
让我们看下面的代码示例:package org.nhooo.example.servlet;
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 = "DeleteCookieServlet", urlPatterns = "/deleteCookie")
public class DeleteCookieServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//
// 要删除Cookie,我们需要创建一个具有相同Cookie的Cookie
//用我们要删除的Cookie命名。我们还需要设置
// Cookie的最长使用期限为0,然后将其添加到Servlet的
// 应对方法。
//
Cookie cookie = new Cookie("username", "");
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}