springmvc添加拦截器
springmvc.xml配置如下:
除了 sysFile 下的所有接口,以及user下的loginUser接口,其他的所有接口都会经过拦截器UserInterceptor处理
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/sysFile/**" />
<mvc:exclude-mapping path="/users/loginUser.do" />
<bean class="com.test.interceptor.UserInterceptor" />
</mvc:interceptor>
</mvc:interceptors>
public class UserInterceptor extends HandlerInterceptorAdapter{
@Autowired
private IUsersService usersService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
try {
request.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e) {
return false;
}
//获取前台传入userId
String userId = request.getParameter("userId");
//获取前台传入的 token
String token = request.getParameter("token");
//根据userId从数据库获取user信息
UsersVo usersVo = usersService.findUserById(userId);
if(usersVo == null){
return false;//拦截
}
//判断前台传入的token 与 数据获取的token做比较
if(usersVo.getToken() == null || "".equals(usersVo.getToken()) || !usersVo.getToken().equals(token)){
return false;//拦截
}
//不拦截
return true;
}
}
springmvc添加拦截器的更多相关文章
- SpringMvc配置拦截器
SpringMVC可以通过配置拦截器,进行url过滤等处理. 在spring-mvc.xml的配置文件中,如下示: 其中,在<mvc:interceptors>中可以配置多个拦截器< ...
- SpringMVC:拦截器
SpringMVC:拦截器 概述 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.开发者可以自己定义一些拦截器来实现特定的功能. 过 ...
- springmvc 配置拦截器
package com.aaa.zxf.interceptor; import org.springframework.boot.autoconfigure.SpringBootApplication ...
- springmvc的拦截器
什么是拦截器 java里的拦截器是动态拦截action调用的对象.它提供了一种机制可以使 ...
- spring boot 添加拦截器
构建一个spring boot项目. 添加拦截器需要添加一个configuration @Configuration @ComponentScan(basePackageClasses = Appli ...
- SpringMVC利用拦截器防止SQL注入
引言 随着互联网的发展,人们在享受互联网带来的便捷的服务的时候,也面临着个人的隐私泄漏的问题.小到一个拥有用户系统的小型论坛,大到各个大型的银行机构,互联网安全问题都显得格外重要.而这些网站的背后,则 ...
- SpringMVC经典系列-14自己定义SpringMVC的拦截器---【LinusZhu】
注意:此文章是个人原创.希望有转载须要的朋友们标明文章出处.假设各位朋友们认为写的还好,就给个赞哈.你的鼓舞是我创作的最大动力,LinusZhu在此表示十分感谢,当然文章中如有纰漏,请联系linusz ...
- 基于注解风格的Spring-MVC的拦截器
基于注解风格的Spring-MVC的拦截器 Spring-MVC如何使用拦截器,官方文档只给出了非注解风格的例子.那么基于注解风格如何使用拦截器呢? 基于注解基本上有2个可使用的定义类,分别是Defa ...
- SpringMVC 学习-拦截器 HandlerInterceptor 类
一.拦截器 HandlerInterceptor 类的作用 SpringMVC 的拦截器类似于 Servlet 开发中的过滤器 Filter,用于对处理器进行预处理和后处理. 二.怎么使用呢? 1. ...
随机推荐
- [MySQL] 中 Schema和Database的区别
在MySQL中,schema和database是同义词. CREATE SCHEMA和CREATE DATABASE是等效的. 但是其他的数据库产品(几乎所有数据库)有所不同.在oracle数据库产品 ...
- Creating a Hadoop-2.x project in Eclipse
Creating a Hadoop-2.x project in Eclipse hortonworks:MapReduce Ports http://docs.hortonworks.com/HDP ...
- lanmp环境中php版本的升级为7.1
查看php版本的信息 vim ./lib/phps.sh 设置权限 chmod 755 ./lib/phps.sh 下载版本 ./lib/phps.sh 7.1.4 查看版本 php -v ...
- P3911 最小公倍数之和
终于找到了一个只会用[gcd(i,j)==1] = sigema d|gcd(i,j) mu(d) 做不了的题. 考虑枚举gcd后. 此时,ans可以表示为一个 sigema x f(x)的形式. 考 ...
- JSX语法
什么是JSX语法:就是符合 xml 规范的 JS 语法:(语法格式相对来说,要比HTML严谨很多) 1. 如何启用 jsx 语法? 安装 `babel` 插件 - 运行`cnpm i babel-co ...
- Python-Selenium中chromeDriver限制图片和Javascript加载
我们有的时候使用Selenium会希望能够限制图片和Javascript执行,从而提高网页加载速度. options=webdriver.ChromeOptions() prefs={ 'p ...
- 笔记react router 4(四)
看完Router的变化,接着来说<Switch>组件. 在3.X中,你可以指定很多子路由,但是只有第一个匹配的路径才会被渲染. 就像这样, <Route path='/' compo ...
- HDU-2874-森林求LCA/tarjan
http://acm.hdu.edu.cn/showproblem.php?pid=2874 给出一个森林,询问任意两点最短距离. tarjan跑一遍即可,就是这个题卡内存,vector会MLE,换前 ...
- 快速学习HTML
1.先写基本的框架标签 2.HTML基本标签 段落标签 <p></p> 空格标签 标题标签 <h1></h1>……<h6></h6 ...
- Spring注解之@Lazy注解
@Lazy用于指定该Bean是否取消预初始化.主要用于修饰Spring Bean类,用于指定该Bean的预初始化行为, 使用该Annotation时可以指定一个boolean型的value属性,该属性 ...