白日做梦嘞 2023-06-06 23:49 采纳率: 86.5%
浏览 51
已结题

springmvc 拦截器拦截什么

关于拦截器

包结构

img


控制器代码

img

web.XML配置

img


springmvc配置拦截器

img

当我访问

img


prehandler方法执行 说明拦截了

img

当我访问

img


没有拦截成功

同时我设置了一个静态资源管理

img

当我访问

img

说明拦截了

img

不加static路径
jsp不拦截
html不拦截
不在控制器的不拦截
加了static
只有jsp不拦截

那到底拦截什么呢 求解答

  • 写回答

2条回答 默认 最新

  • 不良使 Python领域潜力新星 2023-06-07 10:09
    关注

    咋说呢,嗯~~~~~,就是在 SpringMVC 中,拦截器(Interceptor)是一种强大的机制,用于在请求前和请求后对控制器进行前期的预处理和后期的处理。拦截器可以拦截控制器方法和静态资源的访问,可以实现各种各样的功能,例如:鉴权、日志记录、性能监测等等。

    在默认情况下,SpringMVC 拦截器会拦截所有通过 DispatcherServlet 进行处理的请求,通过继承 HandlerInterceptor 接口中的方法实现前、后预处理。

    拦截器在请求到达 DispatcherServlet 时被调用,在 DispatcherServlet 调用处理请求之前,此时可以进行一些前期的预处理。在调用完控制器后,DispatcherServlet 则会将响应发送给浏览器,拦截器也可以在这个时候进行一些后期的处理。

    在代码中,可以看到自定义的拦截器类实现了 HandlerInterceptor 接口,并重写了 preHandle 方法。在 preHandle 方法中,当用户访问 /hello ** 地址时,在打印一条数据后,返回 false 以中止请求,这种情况下用户将看到 “Unauthroized” 响应,否则返回 true,请求可以继续执行。

    通过配置实现了将拦截器应用到控制器方法和静态资源请求的过程中。可以看到静态资源的拦截器已经被配置为只对 .jsp 请求开启拦截。

    因此,综上所述,SpringMVC 拦截器可以拦截所有的通过 DispatcherServlet 进行处理的请求,包括控制器方法和静态资源请求。但在实际应用中,控制器方法通常是需要被拦截的,而静态资源不一定需要被拦截,因此可以通过配置来控制拦截器的应用范围。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月2日
  • 已采纳回答 7月25日
  • 创建了问题 6月6日

悬赏问题

  • ¥15 VS2022 C++的相关代码问题咨询
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码