springMVC拦截器
创始人
2024-04-08 23:47:35
0

springMVC拦截器

    • 一:概念
    • 二:自定义拦截器
    • 三:springMVC拦截器应用场景

一:概念

SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。可以自己定义一些拦截器来实现特定的功能。

过滤器与拦截器的区别:拦截器是AOP思想的具体应用。

过滤器

  • servlet规范中的一部分,任何java web工程都可以使用
  • 在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截

拦截器

  • 拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用
  • 拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截的

二:自定义拦截器

自定义拦截器,必须实现 HandlerInterceptor 接口

web.xml配置:


interceptororg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-servlet.xml1interceptor/*

springmvc-servlet.xml:


interceptororg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-servlet.xml1interceptor/*

自定义拦截器:

package com.lmy.controllor;import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class MyInterceptor implements HandlerInterceptor {//在请求处理的方法之前执行//如果返回true则向后执行下一个拦截器//如果返回false就不继续执行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("=======执行前========");return true;}//在请求处理方法执行之后执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("=======执行后========");}//在dispatcherServlet处理后执行,做清理工作public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("=======清除========");}
}

测试:

package com.lmy.controllor;import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class TestInterceptor {@GetMapping("/t1")public String t1(){System.out.println("我的拦截器");return "test";}
}

结果:

=======执行前========
我的拦截器
=======执行后========
=======清除========

三:springMVC拦截器应用场景

拦截器是指通过统一的拦截从浏览器发往服务器的请求来完成功能的增强
一般用来解决共性的问题(乱码,权限等)

相关内容

热门资讯

董明珠硬刚空调“铝代铜”!海尔... 买空调时,你会特意问一句“是铜管还是铝管”吗?近日,海尔、美的、小米等主流家电品牌宣布,将联合推动空...
兄弟科技:诉讼仍处审理阶段无实... 证券之星消息,兄弟科技(002562)12月22日在投资者关系平台上答复投资者关心的问题。 投资者提...
免费停车延至30分钟!《烟台市... 大众网记者 崔荔媛 烟台报道 12月22日,烟台市人民政府新闻办公室召开新闻发布会,宣布《烟台市停车...
国网吉林经研院完成能源电力主要... 12月15日,国网吉林经研院顺利完成能源电力领域主要政策的系统性梳理与汇编工作。该项工作旨在全面整合...
赖清德弹劾案最新进展:台立法机... 中国台湾网12月22日讯 据台媒报道,因民进党当局“不副署、不执行”台立法机构三读修正通过的“财划法...
再现“拉车门”盗窃案,库伦警方... 12月18日 库伦旗公安局 成功破获一起“拉车门”盗窃案 抓获2名犯罪嫌疑人 12月17日 库伦镇...
诉前调解化干戈跨省纠纷当庭了 近日,紫云苗族布依族自治县人民法院板当人民法庭高效化解一起跨省恋爱期间财物返还纠纷,从组织调解到履行...
一中国女子在欧洲邮轮旅行失联超... 12月21日,据媒体报道:一名中国女性乘客在爱达月光号(AIDAluna)邮轮上失踪,引发多国关注。...
原创 高... 当今复杂的国际政治舞台上,日本军国主义复苏的论调日益凸显,引发国际社会广泛警惕。高市早苗就任日本首相...