全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

拦截器的实现

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()"); 
 }
}

注册方式:

在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>

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


# java中Spring  # MVC  # 拦截器实现  # springmvc拦截器实现  # java  # springmvc  # SpringMVC拦截器的实现和作用及Redis登陆功能的优化详解  # Springmvc拦截器执行顺序及各方法作用详解  # SpringMVC拦截器运行原理及配置详解  # Spring mvc拦截器实现原理解析  # Spring MVC中的拦截器案例演示  # 拦截器  # 返回值  # 的是  # 第一个  # 依赖于  # 可以通过  # 将被  # 类似于  # 回调  # 第二种  # 配置文件  # 发往  # 加载  # brush  # class  # import  # springframework  # org  # ModelAndView 


相关文章: 太平洋网站制作公司,网络用语太平洋是什么意思?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  建站之星后台管理如何实现高效配置?  制作销售网站教学视频,销售网站有哪些?  如何选择适合PHP云建站的开源框架?  Python如何创建带属性的XML节点  如何配置IIS站点权限与局域网访问?  平台云上自助建站如何快速打造专业网站?  c# 服务器GC和工作站GC的区别和设置  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  如何高效搭建专业期货交易平台网站?  建站主机类型有哪些?如何正确选型  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何在万网ECS上快速搭建专属网站?  红河网站制作公司,红河事业单位身份证如何上传?  潮流网站制作头像软件下载,适合母子的网名有哪些?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何有效防御Web建站篡改攻击?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  常州自助建站工具推荐:低成本搭建与模板选择技巧  模具网站制作流程,如何找模具客户?  如何在阿里云购买域名并搭建网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  制作网站公司那家好,网络公司是做什么的?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何在橙子建站中快速调整背景颜色?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  定制建站是什么?如何实现个性化需求?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何高效完成自助建站业务培训?  如何快速搭建高效简练网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  详解jQuery中基本的动画方法  Android自定义控件实现温度旋转按钮效果  如何规划企业建站流程的关键步骤?  ,购物网站怎么盈利呢?  山东云建站价格为何差异显著?  如何解决VPS建站LNMP环境配置常见问题?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  制作电商网页,电商供应链怎么做?  c# 在ASP.NET Core中管理和取消后台任务  建站之星logo尺寸如何设置最合适? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。