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); } }