SpringBoot中使用Interceptor
2024-09-01 02:46:22
https://www.cnblogs.com/chao555/p/9573102.html
1.创建自定义的拦截器并实现HandlerInterceptor接口
package com.demo.common.interceptor; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView; public class MyInterceptor implements HandlerInterceptor{ Logger logger = LoggerFactory.getLogger(MyInterceptor.class); @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
logger.info("preHandle :" +request.getContextPath());
HttpSession session = request.getSession();
if (session.getAttribute("user") != null)
return true; // 跳转登录
String url = request.getContextPath() + "/login";
response.sendRedirect(url);
return true;
} @Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception { } @Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception { } }
2.创建一个java类继承WebMvcConfiguraeAdapter并重写addInterceptor方法(该类用来添加配置拦截器在该类中添加配置拦截器,以及配置过滤)
package com.demo.common.interceptor; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @Configuration
public class AddInterceptor extends WebMvcConfigurerAdapter{ public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(new MyInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/login")
.excludePathPatterns("/loginPost");
}
}
最新文章
- JQuery动画队列问题
- Centos网络配置
- sqlmap常用技巧
- jqurey datatable mRender FnRender 不起作用问题
- python--day2--基础数据类型与变量
- Sensor(PROXIMITY)
- 我要崩溃了,要解出这么一段js代码背后的东西,这真是一坨啊,别被高度欺骗了,他还有宽度!!!!!试着按下方向右键
- 创建oracle 密码文件
- 大数据学习之hadoop伪分布式集群安装(一)公众号undefined110
- runtime 运行时机制 完全解读
- dia 在Linux(ubuntu)下无法输入中文的解决办法 .
- Cocos2d-X采用CCScrollView创建滚动视图
- easyui datagrid分页参数获取
- TP框架数据库操作(增删改)
- python for循环巧妙运用(迭代、列表生成式)
- linux中find命令高级用法
- RHEL 6.4 通过mysql安装文件安装mysql
- Core Animation-1:图层树
- 利用 Settings Sync 同步vs code配置
- 关于 Java 中的 Null
热门文章
- shell 字符串转数组
- js操作表格、table、
- NULL与nullptr
- JavaScript初探系列(十)——Event
- 剑指offer:把数组排成最小的数
- TF 保存模型为 .pb格式
- jdk8 stream实现sql单表select a,b,sum(),avg(),max() from group by a,b order by a,b limit M offset N及其性能
- pandas.DataFrame.dropna删除缺失值
- t5_sumdoc.txt
- linux centos编译安装php7.3