SpringMVC(七)拦截器
来源:互联网 发布:淘宝退款成功后收到货 编辑:程序博客网 时间:2024/06/15 20:26
拦截器的定义:SpringMVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理。
应用场景:
1、日志记录:记录请求信息的日志,以便进行信息监控、信息统计以及页面浏览次数
2、权限检查:登陆检车,进行处理器检车是否登录
3、性能监控:可以通过拦截器在进入处理器之前记录开始时间,在处理完记录结束时间
4、通用行为:读取cookie得到用户信息并将用户对象放入请求
如何使用:
1、创建一个自定义类实现HandlerInterceptor接口。接口中提供三个方法。
public class MyHandleInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 进入 Handler方法之前执行 // 用于身份认证、身份授权 // 比如身份认证,如果认证通过表示当前用户没有登陆,需要此方法拦截不再向下执行 System.out.println("请求处理前拦截"); return super.preHandle(request, response, handler); } // 进入Handler方法之后,返回modelAndView之前执行 // 应用场景从modelAndView出发:将公用的模型数据(比如菜单导航)在这里传到视图,也可以在这里统一指定视图 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView) throws Exception { // 执行Handler完成执行此方法 // 应用场景:统一异常处理,统一日志处理 System.out.println("请求处理后页面渲染前拦截"); super.postHandle(request, response, handler, modelAndView); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("页面渲染后发送到客户端浏览器前拦截"); super.afterCompletion(request, response, handler, ex); }}
2、配置springMVC-servlet.xml文件
拦截器配置可是设置通用拦截和自定义拦截!
<!-- 配置拦截器 --> <mvc:interceptors> <!-- 通用拦截器 --> <!-- <bean class="com.zh.interceptor.MyHandleInterceptor" /> --> <!-- 自定义设置拦截 --> <mvc:interceptor> <mvc:mapping path="/login"/> <!--指定拦截的url地址--> <bean class="com.zh.interceptor.MyHandleInterceptor" /> </mvc:interceptor> </mvc:interceptors>
3、创建一个简单登录页面,点击运行:
因为我这里只是一个简单的登录,所以并没有响应信息!
控制台显示,表示设置成功!
阅读全文
0 0
- SpringMVC(七)拦截器
- SpringMVC学习记录(七)--拦截器的使用
- SpringMVC学习记录(七)--拦截器的使用
- [SpringMVC] SpringMVC拦截器
- SpringMVC-----9、SpringMVC拦截器
- springMVC—springMVC拦截器
- springMVC 拦截器
- SpringMVC—拦截器
- springmvc 拦截器配置
- SpringMvc拦截器
- SpringMvc 拦截器
- springMVC 拦截器
- springmvc登录拦截器
- springMVC之拦截器
- SpringMVC使用拦截器
- springMVC 自定义拦截器
- springmvc拦截器实现
- springMVC 拦截器
- png、jpg、gif与webp不得不说的前端基础知识
- vim复制的时候格式出错
- 正则表达式
- linux安装mysql5.7.20步骤
- C++11 std::bind std::function 高级用法
- SpringMVC(七)拦截器
- PAT (Advanced Level) Practise 1001. A+B Format (20)
- Android RecyclerView更新子项目notifyItemChanged
- c++学习日记/函数指针与指针函数
- 经典算法问题-01-八皇后
- SAP Fiori 最新视频教程--由浅入深学习Fiori开发
- C表达式((void (*)(void))0();
- 科学研究设计二:定量分析和定性分析
- 一位10年 Java 工作经验的架构师聊 Java 和工作经验