删除session

This commit is contained in:
sjm
2023-07-05 10:36:25 +08:00
parent 404ac0a863
commit cf60141d35
2 changed files with 19 additions and 58 deletions

View File

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

View File

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