diff --git a/src/com/hellogithub/servlet/DeleteCookie.java b/src/com/hellogithub/servlet/DeleteCookie.java deleted file mode 100644 index 39bcf82..0000000 --- a/src/com/hellogithub/servlet/DeleteCookie.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.hellogithub.servlet; - -import jakarta.servlet.ServletException; -import jakarta.servlet.annotation.WebServlet; -import jakarta.servlet.http.Cookie; -import jakarta.servlet.http.HttpServlet; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; - -import java.io.IOException; - -@WebServlet("/deletecookie") -public class DeleteCookie extends HttpServlet { - @Override - protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - doPost(req,resp); - } - - @Override - protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { - /* -*/ -// 获取cookie数组 - Cookie[] cookies = req.getCookies(); -// 判断数组对象是否为null - if (cookies != null) { - // 遍历cookie数组 - for(Cookie cookie : cookies) { - // 获取cookie的name属性值 - String cName = req.getParameter("username"); - // 通过name属性值,获取要删除的特定cookie - if ("username".equals(cName)) { - // 找到了要删除的特定cookie,cName为要删除特定cookie的name属性值 - /* - 新建一个cookie对象 - 其name属性值和要删除的特定的cookie的name属性值完全相同 - 其value属性值可以为任意值或null - */ - Cookie nc = new Cookie(cName,null); - -// 设置新建cookie的有效时间,由于要删除特定的cookie所以设置为0 - - nc.setMaxAge(0); - /* - 设置新建cookie的path - 注意:新建cookie的path和要删除的特定cookie的path一定要相同 - 否则无法删除 - */ - nc.setPath(req.getContextPath()); - /* - 将新建的cookie响应给浏览器即删除特定的cookie - */ - resp.addCookie(nc); - } - } - } - } -} diff --git a/src/com/hellogithub/servlet/DeleteSession.java b/src/com/hellogithub/servlet/DeleteSession.java new file mode 100644 index 0000000..93fb8a0 --- /dev/null +++ b/src/com/hellogithub/servlet/DeleteSession.java @@ -0,0 +1,19 @@ +package com.hellogithub.servlet; + +import jakarta.servlet.ServletException; +import jakarta.servlet.annotation.WebServlet; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSession; + +import java.io.IOException; +import java.net.http.HttpClient; +@WebServlet("/deletesession") +public class DeleteSession extends HttpServlet{ + @Override + protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { + HttpSession session = req.getSession(); + session.invalidate(); + } +}