• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > 浅析java中 Spring MVC 拦截器作用及其实现

浅析java中 Spring MVC 拦截器作用及其实现

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了springmvc拦截器,springmvc拦截器配置,springmvc拦截,springmvc拦截jsp,springmvc登录拦截器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

拦截器的实现

1、编写拦截器类实现HandlerInterceptor接口;

2、将拦截器注册进springmvc框架中;

3、配置拦截器的拦截规则;

其他实现方法

WebRequestInterceptor接口:

与上一个的区别是参数区别和prehandle的方法没有返回值。没有上一个功能全,因此常用第一个。

拦截器的使用场景

 处理所有请求共性问题:

1、乱码问题:用request,response参数去设置编码;

2、解决权限验证问题(是否登陆,取session对象查看);

拦截器与过滤器的区别

1、拦截器Interceptor依赖于框架容器,基于反射机制,只过滤请求;

2、过滤器Filter依赖于Servlet容器,基于回调函数,过滤范围大;

例子

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
 
public class TestInterceptor implements HandlerInterceptor {
 /**
  * 返回值说明是否需要将当前的请求拦截下来
  * false:请求将被终止
  * true:请求会被继续运行
  * Object handler 表示的是被拦截的请求的目标对象
  */
 @Override
 public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
   throws Exception {
  System.out.println("TestInterceptor.preHandle()");
  return true;
 }
 /**
  * modelAndView:
  *  可以通过modelAndView参数改变显示的视图,或者修改发往视图的方法
  */
 @Override
 public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
   ModelAndView modelAndView) throws Exception {
  System.out.println("TestInterceptor.postHandle()"); 
 }
 /**
  * 在视图加载完毕之后调用
  * 常用于作于资源的销毁,流等
  * 类似于析构函数
  */
 @Override
 public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
   throws Exception {
  System.out.println("TestInterceptor.afterCompletion()"); 
 }
}
</div>

注册方式:

在springmvc的Dispatcherservlet配置文件中加入拦截器代码;

<!-- 注册拦截器 -->
 <mvc:interceptors>
 <!-- 单个拦截器:设置具体的拦截路径 -->
 <mvc:interceptor>
  <mvc:mapping path="/courses/view2/*">
  <bean class="com.cc.mvcdemo.interceptor.TestInterceptor"></bean>
 </mvc:mapping></mvc:interceptor>
 <!-- 第二种方式:拦截经过当前Dispatcherservlet的所有请求 -->
 <bean class="com.cc.mvcdemo.interceptor.TestInterceptorTwo"></bean>
 </mvc:interceptors>
</div>

希望本篇文章内容对各位朋友有所帮助

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • springmvc实现简单的拦截器
  • java springmvc乱码解决归纳整理详解
  • 浅析java中 Spring MVC 拦截器作用及其实现
  • 使用Spring MVC拦截器实现日志记录的方法
  • SpringMVC配置拦截器实现登录控制的方法
  • Spring MVC--拦截器实现和用户登陆例子
  • 使用spring拦截器实现日志管理实例
  • springmvc实现简单的拦截器
  • java springmvc乱码解决归纳整理详解
  • 浅析java中 Spring MVC 拦截器作用及其实现

相关文章

  • 2017-05-28java高效打印一个二维数组的实例(不用递归,不用两个for循环)
  • 2017-05-28Java Web之限制用户多处登录实例代码
  • 2017-05-28Java String 和StringBuffer的详解及区别
  • 2017-05-28详解Spring中bean实例化的三种方式
  • 2017-05-28java 实现双向链表实例详解
  • 2017-05-28Spring Boot 集成Dubbo框架实例
  • 2017-05-28java对象拷贝详解及实例
  • 2017-05-28java application maven项目打自定义zip包实例(推荐)
  • 2017-05-28SpringBoot(十)之邮件服务
  • 2017-05-28Mybatis 一对多和多对一关联查询问题

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详解在Spring Boot中使用JPA
    • SpringBoot的服务注册与发现示例
    • java中常用的字符串的比较方法(两种)
    • Java中ArrayList的工作原理详解
    • Java 并发编程之线程挂起、恢复与终止
    • 浅析Java 数据结构常用接口与类
    • Struts2中Action三种接收参数形式与简单的表单验证功能
    • Java String类详解_动力节点Java学院整理
    • Java中如何优雅正确的终止线程
    • Java Socket编程(三) 服务器Sockets

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有