资讯专栏INFORMATION COLUMN

SpringMVC拦截器

justCoding / 1716人阅读

摘要:拦截器的作用拦截器用于对浏览器到服务器的请求数据或者服务器到浏览器的返回数据做一些更改,或者对请求数据做一些增强拦截器的原理和使用工作原理过滤器类似。使用编写拦截器类,继承接口。在文件中注册拦截器。

拦截器的作用?

拦截器用于对浏览器到服务器的请求数据或者服务器到浏览器的返回数据做一些更改,或者对请求数据做一些增强

拦截器的原理和使用 工作原理:过滤器类似。 使用

编写拦截器类,继承HandlerInterceptor接口。

在servlet文件中注册拦截器。

配置拦截器的拦截规则


    
    
    

拦截器的方法介绍

preHandler,请求被处理之前调用
有返回值,返回值表示是否将请求拦截下来,若返回false,则将请求拦截下来,不会到达控制器以及后续方法

postHandler,请求被处理后进行调用
可以通过ModelAndView参数来改变显示的视图,或修改发往视图的方法,如下所示:

public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {

System.out.println("postHandle");
modelAndView.addObject("name","被拦截器修改后的消息");

}

afterCompletion,在请求结束之后,即视图显示出来之后,才进行调用。类似于其他语言的析构函数。最重要的作用是进行一些资源的销毁、关闭一些流等。并不会经常用到。

多个拦截器工作流程图

springMVC拦截器的使用场景

使用原则:处理所有请求的共同问题

1.解决乱码问题

2.解决权限验证问题

在preHandle方法中对用户是否登录进行判断,若未登录,则跳转至登录页面:

if(args.getSession.getAttribute("user")==null){
arg0.getRequestDispatcher("/login.jsp").forward(arg0,arg1);
return false;
}
return true;

springMVC拦截器的对比和总结

过滤器Filter依赖于servlet容器,基于回调函数,过滤范围大

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

只是记录下知识点,参考自https://zhuanlan.zhihu.com/p/...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67710.html

相关文章

  • 慕课网_《SpringMVC截器》学习总结

    摘要:拦截器学习总结时间年月日星期六说明本文部分内容均来自慕课网。慕课网教学示例源码暂无。拦截器不依赖与容器,过滤器依赖与容器。拦截器只能对请求起作用,而过滤器则可以对几乎所有的请求起作用。共性问题在拦截器中处理,可以减少重复代码,便于维护。 《SpringMVC拦截器》学习总结 时间:2017年2月18日星期六说明:本文部分内容均来自慕课网。@慕课网:http://www.imooc.co...

    calx 评论0 收藏0
  • springboot学习(二)——springmvc配置使用

    摘要:中添加拦截器配置如下拦截所有请求,也就是,只拦截开头的请求。在中并没有提供配置文件的方式来配置拦截器,因此需要使用的代码式配置,配置如下这个属性通常并不需要手动配置,高版本的会自动检测第四点讲下静态资源映射。 以下内容,如有问题,烦请指出,谢谢 上一篇讲解了springboot的helloworld部分,这一篇开始讲解如何使用springboot进行实际的应用开发,基本上寻着sprin...

    hiyayiji 评论0 收藏0
  • SpringMVC【校验器、统一处理异常、RESTful、截器

    摘要:只要有一个拦截器不放行,不能执行完成号不放行和号不放行测试结果总结只有前边的拦截器方法放行,下边的拦截器的才执行。至于他们的拦截器链的调用顺序,和的是没有差别的。 前言 本博文主要讲解的知识点如下: 校验器 统一处理异常 RESTful 拦截器 Validation 在我们的Struts2中,我们是继承ActionSupport来实现校验的...它有两种方式来实现校验的功能 手写...

    marser 评论0 收藏0
  • 面试题:SpringMVC和Struts2的区别

    摘要:的入口是,而是这里要指出,和是不同的。以前认为是的一种特殊,这就导致了二者的机制不同,这里就牵涉到和的区别了。开发效率和性能高于。的实现机制有以自己的机制,用的是独立的方式。 1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC...

    isaced 评论0 收藏0
  • SpringMVC总结

    摘要:前端控制器根据返回的视图名,选择相应的视图进行渲染,并将模型数据传入到视图中以便展示。前端控制器将响应的结果返回给用户。 SpringMVC总结 一、spring MVC的工作内容 将URL映射到Java类或者方法 封装用户提交的数据 处理请求,调用相关的业务层,并封装响应的数据 将要响应的数据进行渲染 二、SpringMVC的优点和特点 与spring无缝集成(IOC、AOP)...

    raledong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<