知识为进步之母,而进步又为富强之源泉。这篇文章主要讲述Spring MVC实现拦截器功能相关的知识,希望能为你提供帮助。
Spring MVC实现拦截器功能
Hello,大家好,本篇为大家带来Spring MVC常用功能,拦截器,主要用于防跳墙功能,下面开始正文这里举例为用户管理系统实现防跳墙功能,防止用户未登录访问主页,直接转至登陆页
效果图
文章图片
数据表准备t_user_info用户表
CREATE TABLE `t_user_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`userpwd` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`realname` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`head_img_relative_path` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`id`)
)
项目结构
文章图片
核心源码【Spring MVC实现拦截器功能】LoginInteceptor
package com.wanshi.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class LoginInterceptor implements HandlerInterceptor
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
//1.对登录,注册,风格直接放行
//获取请求的uri地址
String uri = request.getRequestURI();
if (uri.contains("login"))
return true;
//2.进行session验证
Object user = request.getSession().getAttribute("user");
if (user == null)
request.getRequestDispatcher("/WEB-INF/pages/login.jsp")
.forward(request, response);
return false;
return true;
spring-mvc配置文件增加拦截器配置
< mvc:interceptors>
< mvc:interceptor>
< mvc:mapping path="/**"/>
< bean id="loginInterceptor" class="com.wanshi.interceptor.LoginInterceptor"/>
< /mvc:interceptor>
< /mvc:interceptors>
OK,本文到此结束,拦截器的目的就是为了实现防跳墙,即防止用户在未登录的情况下访问主页下篇见,下方有完整项目链接地址!您可以给我点赞收藏关注评论哦~~
链接:??拦截器示例??
提取码:545d
感谢您的支持!
推荐阅读
- Splunk深度专题(疫情下的可观测)
- 机械手臂ce认证
- 面试官(性能调优都不会(你还想涨薪?))
- 合并2个PDF,1行Python代码就够了。
- 密码学系列之:PKI的证书格式表示X.509
- OpenHarmony驱动框架HDF中设备管理服务构建过程详解
- MAPI over HTTP 和 RPC over HTTP
- 基于鸿蒙ArkUI的eTS范式开发的仿微信界面程序
- [ C++ ] C++类与对象(中) 类中6个默认成员函数 -- 运算符重载