SpringMVC拦截器

HandlerInterceptorAdapter.java

1 public abstract class HandlerInterceptorAdapter implements HandlerInterceptor {
 2 
 3     /**
 4      * This implementation always returns <code>true</code>.
 5      */
 6     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
 7         throws Exception {
 8         return true;
 9     }
10 
11     /**
12      * This implementation is empty.
13      */
14     public void postHandle(
15             HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
16             throws Exception {
17     }
18 
19     /**
20      * This implementation is empty.
21      */
22     public void afterCompletion(
23             HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
24             throws Exception {
25     }
26 
27 }

Spring拦截器通过重写这三个方法实现Controller的拦截。

配置拦截器
xml
1 <bean id="handlerMapping"
 2           class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
 3         <property name="interceptors">
 4             <list>
 5                 <ref bean="controllerInterceptor" />
 6             </list>
 7         </property>
 8         <property name="mappings">
 9             <props>
10                 <prop key="/hao/hello.do">helloWorldController</prop>
11             </props>
12         </property>
13     </bean>
14     
15     <bean id="controllerInterceptor" class="com.web.spring.mvc.interceptor.ControllerInterceptor"/>
16 
ControllerInterceptor.java
1 public class ControllerInterceptor extends HandlerInterceptorAdapter {
 2 
 3     /**
 4      * 在Controller方法前进行拦截
 5      */
 6     public boolean preHandle(HttpServletRequest request,
 7             HttpServletResponse response, Object handler) throws Exception {
 8         System.out.println("ControllerInterceptor.preHandle()");
 9         return true;
10     }
11 
12     /**
13      * This implementation is empty.
14      */
15     public void postHandle(HttpServletRequest request,
16             HttpServletResponse response, Object handler,
17             ModelAndView modelAndView) throws Exception {
18         System.out.println("ControllerInterceptor.postHandle()");
19     }
20 
21     /**
22      * 在Controller方法后进行拦截
23      */
24     public void afterCompletion(HttpServletRequest request,
25             HttpServletResponse response, Object handler, Exception ex)
26             throws Exception {
27         System.out.println("ControllerInterceptor.afterCompletion()");
28     }
29 }
说明:
发起请求,进入拦截器链,运行所有拦截器的preHandle方法,
1.当preHandle方法返回false时,从当前拦截器往回执行所有拦截器的afterCompletion方法,再退出拦截器链。
2.当preHandle方法全为true时,执行下一个拦截器,直到所有拦截器执行完。再运行被拦截的Controller。然后进入拦截器链,运行所有拦截器的postHandle方法,完后从最后一个拦截器往回执行所有拦截器的afterCompletion方法.
当有拦截器抛出异常时,会从当前拦截器往回执行所有拦截器的afterCompletion方法
Controller
1 
 2 @Controller
 3 @RequestMapping("/hao")
 5 public class HelloWorldController {
 6 
 7     @RequestMapping(value = "/hello")
 8     public String hello(HttpServletRequest request, HttpServletResponse response) {
 9         System.out.println("hello");
15         return "helloWorld";
16     }
17 }
内容概要:该论文聚焦于T2WI核磁共振图像超分辨率问题,提出了一种利用T1WI模态作为辅助信息的跨模态解决方案。其主要贡献包括:提出基于高频信息约束的网络框架,通过主干特征提取分支和高频结构先验建模分支结合Transformer模块和注意力机制有效重建高频细节;设计渐进式特征匹配融合框架,采用多阶段相似特征匹配算法提高匹配鲁棒性;引入模型量化技术降低推理资源需求。实验结果表明,该方法不仅提高了超分辨率性能,还保持了图像质量。 适合人群:从事医学图像处理、计算机视觉领域的研究人员和工程师,尤其是对核磁共振图像超分辨率感兴趣的学者和技术开发者。 使用场景及目标:①适用于需要提升T2WI核磁共振图像分辨率的应用场景;②目标是通过跨模态信息融合提高图像质量,解决传统单模态方法难以克服的高频细节丢失问题;③为临床诊断提供更高质量的影像资料,帮助医生更准确地识别病灶。 其他说明:论文不仅提供了详细的网络架构设计与实现代码,还深入探讨了跨模态噪声的本质、高频信息约束的实现方式以及渐进式特征匹配的具体过程。此外,作者还对模型进行了量化处理,使得该方法可以在资源受限环境下高效运行。阅读时应重点关注论文中提到的技术创新点及其背后的原理,理解如何通过跨模态信息融合提升图像重建效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值