惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

不改一行插件代码,实现消息优先级与阻断 洛玖定时任务系统 在 butterfly 主题中添加首页点集动画(基于p2line项目) 你好,2026 stm32f4xx-ads1256驱动 stm32f4xx-ad9854并行驱动 主动式网站状态监测实现及其应用 右键菜单加入用Trae打开文件和文件夹 三角洲行动ID映射表 洛玖SDK说明 为网页文章开头添加原文连接 Hexo-Butterfly主题在主页添加GitHub贡献日历 Proteus中555定时器仿真问题 装饰器 洛玖开发日记 STS3032舵机获取力矩输出 mspm0g3507-ad9850 奇怪的bug Paddle模型转PaddleLite 人工智能考核 构建一个yolov3网络 yolo和paddle模型常见输出参数 PaddleDetection
kotlin网页前后端那些事
洛屿 · 2024-09-07 · via

爱来自洛屿❤drluo

登出操作

使用@RequestMapping 注解接收PUT请求,销毁账号session

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Controller
@RequestMapping(value = ["/admin"])
interface LoginController {

@RequestMapping(value = ["/logout"], method = [RequestMethod.PUT])
fun logout(request: HttpServletRequest, response: HttpServletResponse)
}

@Component
class LoginControllerImpl : LoginController {
override fun logout(request: HttpServletRequest, response: HttpServletResponse) {
val session = request.session
try {
// 销毁session
request.getSession().invalidate();
} catch (e: Exception) {
e.printStackTrace()
}
}
}

利用javascript响应按钮事件,通过向 url/logout发送PUT请求,进行账号注销

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const fetchPutRequest = async (url, errorFn) =>
await fetch(url, {method: "PUT"})
.then( () => window.location.href="/login")
.catch(error => errorFn(error));

const logout = () => {
hidePopup() // 此处为弹出框相关函数

fetchPutRequest('/logout',
(error) => {
// 处理错误
console.error('Logout failed:', error);
}
)
}

html/css按钮建立

1
<a class="logout-button" onclick="logout()" >Logout</a>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.logout-button {
padding: 6px 0 6px 0;
background-color: #4CAF50;
box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
color: #ffffffc7 !important;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 18px;
border-radius: 5px;
transition: background-color 0.3s ease, box-shadow 0.3s ease;
position: absolute;
bottom: 160px;
left: 50%;
transform: translateX(-50%);
}

.logout-button::after {
content: '→';
margin-left: 10px;
font-size: 18px;
transition: margin-left 0.3s ease, transform 0.3s ease;
}

.logout-button:hover {
background-color: #45a049;
box-shadow: 0 0 16px rgba(255, 255, 255, 0.5);
}

.logout-button:hover::after {
margin-left: 40px;
}

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 洛屿的小站

打赏

  • wechat

    wechat

  • alipay

    alipay