在springMVC中实现拦截器有两种方式

1、实现HandlerInterceptor接口

2、继承HandlerInterceptorAdaptor类

编写拦截器:

 1 package com.cy.springannotation.interceptor;
 2
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5
 6 import org.apache.log4j.Logger;
 7 import org.springframework.web.servlet.HandlerInterceptor;
 8 import org.springframework.web.servlet.ModelAndView;
 9 /**
10  * 拦截器
11  * @author acer
12  *
13  */
14 public class MyIntercetor implements HandlerInterceptor{
15     private Logger log=Logger.getLogger(this.getClass());
16
17     @Override
18     public void afterCompletion(HttpServletRequest arg0,
19             HttpServletResponse arg1, Object arg2, Exception arg3)
20             throws Exception {
21         log.info("1---afterCompletion方法-----DispatcherServlet完全处理完请求后被调用,往往执行一些资源清理动作");
22     }
23
24     @Override
25     public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
26             Object arg2, ModelAndView arg3) throws Exception {
27         log.info("1---postHandle方法----------Controller方法后");
28     }
29
30     @Override
31     public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
32             Object arg2) throws Exception {
33         log.info("1---preHandle方法-----------Controller方法前");
34         //如返回为false的时候,拦截器可阻止方法的调用 ,默认返回false
35 //        return false;
36         return true;
37     }
38
39 }

在springAnnotation-servlet.xml里配置:

1  <!-- 配置拦截器 -->
2       <mvc:interceptors>
3         <mvc:interceptor>
4           <mvc:mapping path="/login.do"/>
5           <bean class="com.cy.springannotation.interceptor.MyIntercetor"></bean>
6         </mvc:interceptor>
7      </mvc:interceptors> 

配置多个拦截器的时候:

 1 <!-- 配置拦截器 -->
 2       <mvc:interceptors>
 3         <mvc:interceptor>
 4           <mvc:mapping path="/login.do"/>  <!-- 如果不配置mapping则默认所有请求均被该拦截器拦截 -->
 5           <bean class="com.cy.springannotation.interceptor.MyIntercetor"></bean>
 6         </mvc:interceptor>
 7         <mvc:interceptor>
 8           <mvc:mapping path="/*"/>
 9           <bean class="com.cy.springannotation.interceptor.SecondIntercetor"></bean>
10         </mvc:interceptor>
11      </mvc:interceptors> 

登录拦截:

控制台显示:

Spring MVC 之拦截器(八)相关推荐

  1. Spring MVC 登录拦截器

    Spring MVC 登录拦截器 1.编写拦截器 package interceptor;import org.springframework.web.servlet.HandlerIntercept ...

  2. java spring 配置词典_java之spring mvc之拦截器

    java之spring mvc之拦截器 1. springmvc 中的拦截器是由实现 HandlerInterceptor 或者继承 HandlerInterceptorAdapter 来实现的. 2 ...

  3. spring mvc +cookie+拦截器功能 实现系统自动登陆

    先看看我遇到的问题: @ResponseBody@RequestMapping("/logout")public Json logout(HttpSession session,H ...

  4. Spring MVC使用拦截器实现权限控制

    1.首先准备对应的架包 2.看看项目的架构 3.基本的web.xml文件 <!--?xml version="1.0" encoding="UTF-8"? ...

  5. 【Spring学习笔记-MVC-17】Spring MVC之拦截器

    作者:ssslinppp       1. 拦截器简介及应用场景 2. 拦截器接口及拦截器适配器 3. 运行流程图 正常运行 中断流程 4. 程序实例 控制层: @Controller @Reques ...

  6. java之spring mvc之拦截器

    1. springmvc 中的拦截器是由实现 HandlerInterceptor 或者继承 HandlerInterceptorAdapter 来实现的. 2. 自定义实现一个拦截器的步骤: a). ...

  7. Spring MVC 使用拦截器 HiddenHttpMethodFilter配置Rest风格的URL

    <!-- 4.使用Rest风格的URI,将页面普通的post请求转为指定的delete或者put请求 --> 详细使用请参考这篇博客:地址:http://blog.csdn.net/ppl ...

  8. (转)spring中的拦截器(HandlerInterceptor+MethodInterceptor)

    1.  过滤器跟拦截器的区别 在说拦截器之前,不得不说一下过滤器,有时候往往被这两个词搞的头大. 其实我们最先接触的就是过滤器,还记得web.xml中配置的<filter>吗~ 你应该知道 ...

  9. 谈谈spring中的拦截器interceptor

    谈谈spring中的拦截器 在web开发中,拦截器是经常用到的功能.它可以帮我们验证是否登陆.预先设置数据以及统计方法的执行效率等等.今天就来详细的谈一下spring中的拦截器.spring中拦截器主 ...

最新文章

  1. 算法时间复杂度lg是多少_算法时间复杂度空间复杂度(附github)
  2. 慢查询优化,我终于在生产踩到了这个坑!!
  3. .NET中如何深度判断2个对象相等
  4. WPF DataGrid 主从表 数据绑定方式
  5. kali安装配置使用手册
  6. SpringBoot入门系列(二)如何返回统一的Json数据格式
  7. python编程8g的内存够么_内存8G够用吗?深入解读~
  8. hadoop(五)-hdfs命令行基本命令
  9. vmware虚拟机重装后本机没虚拟网卡解决方案及虚拟机的三种网络连接方式详解
  10. 使用破解补丁激活过期的pycharm
  11. 辰视智能主办的第二届智能制造高峰论坛昨日在深圆满举行
  12. 会抓老鼠的猫不一定是好猫
  13. 大数据时代 商品的数据的价值在哪
  14. 联想文件服务器推荐配置,联想DS系列存储配置文档(非IBM DS系列)
  15. Ubuntu12.04如何修改窗口背景色为眼睛保护色来保护眼睛,强力推荐!!
  16. 如何通俗地理解概率论中的「极大似然估计法」?
  17. Loadrunder脚本篇——文件下载
  18. 为什么iPhone拍照更好看
  19. 软件测试——性能测试
  20. 逻技键盘,按F8,F9不起效果,需要同时按着Fn键

热门文章

  1. 在同一台电脑上同时使用IE6和IE7
  2. 一个美国女警的工作记录(转载)
  3. linux修改主机名+免密认证+关闭防火墙
  4. 尚学堂java 答案解析 第五章
  5. sysbench压测Oracle
  6. rt-thread的定时器管理源码分析
  7. sql中varchar(n),nvarchar(n) 长度性能及所占空间分析
  8. Excel的合并解析
  9. JavaWeb中连接数据库的一般方式与通过JNDI连接池的方式
  10. 快速增强路由器安全的十个小技巧