SpringMVC 简单拦截器配置
来源:互联网 发布:电脑网络映射是断开的 编辑:程序博客网 时间:2024/05/23 16:00
拦截器的目的就是:用户所属的session不存在后进行对控制器请求的拦截,使跳转到首页或者登陆页面。
1、首先在web.xml中配置dispatcher-servlet.xml 。代码中对应的<servlet-name>中的dispatcher 映射的就是dispatcher-servlet.xml文件
1
2
3
4
5
6
7
8
9
10
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-
class
>org.springframework.web.servlet.DispatcherServlet</servlet-
class
>
<load-
on
-startup>1</load-
on
-startup>
</servlet>
<!-- springmvc 请求后缀 -->
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.
do
</url-pattern><!-- 拦截所有以.
do
结尾的请求,交于DispatcherServlet处理 -->
</servlet-mapping>
2、在dispatcher-servlet.xml 文件中配置拦截器需要拦截的目录,其中处理拦截的具体实现类的在第三步新建,对应的包路径需要修改。
1
2
3
4
5
6
7
8
9
10
11
12
<!-- 配置拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 拦截器拦截的URL格式 -->
<mvc:mapping path=
"/*.do"
></mvc:mapping>
<!-- 拦截器不拦截的controller -->
<mvc:exclude-mapping path=
"/toLogin.do"
>
<mvc:exclude-mapping path=
"/login.do"
>
<!-- 处理拦截的具体实现类 包路径为src下目录路径-->
<bean
class
=
"com.springmvc.interceptor.LoginInterceptor"
></bean>
</mvc:exclude-mapping></mvc:exclude-mapping></mvc:interceptor>
</mvc:interceptors>
3、新建拦截器具体实现类,注意拦截器的具体实现类继承自类HandlerInterceptorAdapter。
1
preHandle->postHandle->afterCompletion,这三个方法是依次执行的
preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求request进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false。
postHandle():这个方法在业务处理器处理完请求后,但是DispatcherServlet向客户端返回请求前被调用,在该方法中对用户请求request进行处理。
afterCompletion():这个方法在DispatcherServlet完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。
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
public
class
LoginInterceptor
extends
HandlerInterceptorAdapter {
// 继承HandlerInterceptorAdapter类
// 重写 preHandle()方法,在业务处理器处理请求之前对该请求进行拦截处理
@Override
public
boolean
preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws
Exception {
//UserModal user = (UserModal) request.getSession().getAttribute("userInfo");
//if(user == null){
// response.sendRedirect("/toLogin.do");
// return false;
// } 这是对登录的拦截,获取登录是的session,如果获取不到将拦截跳转到登录界面。拦截器的登录应用基本都是对session的应用
return
true
;
}
@Override
public
void
postHandle(HttpServletRequest request,
HttpServletResponse response, Object o, ModelAndView mav)
throws
Exception {
System.out.println(
"----------postHandle"
);
}
@Override
public
void
afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object o, Exception excptn)
throws
Exception {
}
}
4、拦截器的基本配置基本配置就完成了。
0 0
- springMVC 拦截器简单配置
- springMVC 拦截器简单配置
- springMVC 拦截器简单配置
- springMVC 拦截器简单配置
- SpringMVC 简单拦截器配置
- springmvc 拦截器配置
- springMVC拦截器配置
- springMvc拦截器配置
- SpringMvc拦截器配置
- SpringMvc配置拦截器
- springmvc拦截器配置
- SpringMvc拦截器配置
- springmvc拦截器配置
- springmvc拦截器配置
- springMVC拦截器配置
- springmvc配置拦截器
- SpringMVC配置拦截器
- springmvc和struts2拦截器的简单使用以及配置
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
- FindBoost.cmake
- 文章标题
- MATLAB中ode23函数,龙格库塔函数
- 限制远程桌面登录IP的方法
- SpringMVC 简单拦截器配置
- Android JNI 开发进阶一 JavaString转C++String
- 优秀Java程序员必须了解的GC工作原理
- 对九个超级程序员的采访
- Java 读取excel指定行列数据以及将数据保存到txt文件中
- 二叉树的非递归实现中序遍历
- Flink WordCount实例讲解
- 代码版本远程发布程序
- 机器学习系列(2)_从初等数学视角解读逻辑回归