删除session
This commit is contained in:
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
19
src/com/hellogithub/servlet/DeleteSession.java
Normal file
19
src/com/hellogithub/servlet/DeleteSession.java
Normal 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();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user