Spring MVC实现拦截器功能
【摘要】 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`)
)
项目结构
核心源码
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
感谢您的支持!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)