`

如何在基于注解风格的Spring-MVC中使用拦截器

阅读更多

Spring-MVC如何使用拦截器,官方文档只给出了非注解风格的例子。那么基于注解风格如何使用拦截器呢?


基于注解基本上有2个可使用的定义类,分别是DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->< bean  class ="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
< bean  class ="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />


1、DefaultAnnotationHandlerMapping
       DefaultAnnotationHandlerMapping本身支持自定义拦截器,只需按如下进行配置:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1  < bean  class ="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >
2       < property  name ="interceptors" >
3           < list >
4                  < bean  class ="packageName.XXXInterceptor"   />
5           </ list >
6       </ property >
7  </ bean >


Interceptor的定义为:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1  public   class  XXXInterceptor  extends  HandlerInterceptorAdapter {
 2      @Override
 3       public   boolean  preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) {
 4   
 5          String className  =  handler.getClass().getName(); // package Name .ClassName
 6           if  (Error) {
 7               return false ;
 8          }
 9           return true ;
10      }
11  }


如果需要运行在GAE上面,对于Spring2.5.x会有问题,需要使用Srping3就没有问题了。

 

分享到:
评论

相关推荐

    网上书城 spring-mvc

    《网上书城 Spring-MVC》项目是基于Spring-MVC框架构建的一个典型电子商务平台,它展示了如何使用Spring-MVC来实现高效、灵活的Web应用程序开发。Spring-MVC是Spring框架的一部分,专门用于处理Web层的业务,提供了...

    一个改进版的spring-mvc-showcase

    总的来说,"一个改进版的spring-mvc-showcase"项目展示了如何利用Spring MVC构建一个现代Web应用,并且可能涵盖了许多高级特性,如AOP(面向切面编程)、RESTful API设计、拦截器、数据校验、异常处理等。...

    简单-利用Spring-MVC框架开发项目实例

    在本教程中,我们将深入探讨如何使用Spring-MVC框架来开发一个简单的项目实例。Spring-MVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。它使得开发者可以将业务逻辑、数据访问...

    mdeinum-pro-spring-mvc-code

    在这个过程中,Spring MVC提供了丰富的自定义点,如拦截器(Interceptor)可以扩展处理逻辑,数据绑定和验证可以确保输入的有效性,异常处理机制可以优雅地管理错误情况。 在"mdeinum-pro-spring-mvc-code"项目中,...

    Spring-MVC框架简单实现

    这个简易版的 Spring MVC 框架可能没有包含所有的特性,如拦截器、国际化、上传下载等,但它足以帮助初学者理解 Spring MVC 的基本工作原理。在实际项目中,开发者可以根据需求逐步添加和配置更多功能,以构建更复杂...

    spring-mvc 官方实例

    Spring MVC 是 Spring 框架的一个重要组成部分,用于构建基于模型-视图-控制器(Model-View-Controller)架构的Web应用程序。这个官方实例“spring-mvc-showcase”旨在为开发者提供一个清晰的理解和实践Spring MVC...

    spring-mvc helloworld demo

    - `dispatcher-servlet.xml` 是 Spring MVC 的配置文件,其中定义了视图解析器、拦截器、模型-视图对以及其他组件。 4. **编写 Controller**: - 创建一个简单的 `HelloWorldController` 类,该类包含一个处理...

    spring-mvc-showcase.zip

    在Spring Boot中,通常通过`WebMvcConfigurer`或`WebMvcConfigurerAdapter`进行自定义配置,如拦截器、视图解析器、消息转换器等。 十、RESTful API 通过`@RestController`注解,可以创建RESTful服务,处理JSON或...

    spring-mvc.rar_spring mvc

    8. **MVC配置文件**:在Spring MVC中,通常会有一个或多个配置文件(如spring-mvc.xml)来定义组件扫描、视图解析器、拦截器等设置。 9. **Spring JDBC/ORM集成**:Spring提供了与JDBC的集成,简化了数据库操作,...

    Spring-MVC的demo

    一个典型的Spring MVC应用需要配置DispatcherServlet、视图解析器、拦截器等。XML配置或Java配置都可以,现在更推荐使用Java配置,因为更直观且易于维护。 10. **单元测试与集成测试** Spring MVC提供测试支持,...

    spring-mvc实例

    2. **配置文件**:Spring MVC的配置通常在`spring-servlet.xml`或`applicationContext.xml`文件中进行,包括视图解析器(如`InternalResourceViewResolver`)、拦截器(如`HandlerInterceptor`)、以及处理器映射器...

    spring-mvc-helloworld

    在 `spring-mvc-helloworld` 项目中,可能会包含一个 `web.xml` 文件来配置 DispatcherServlet。此外,还需要 Spring MVC 的配置文件(如 `servlet-context.xml`),其中定义了 Controller、视图解析器和其他组件的...

    spring-web.jar spring-webmvc.jar

    在本讨论中,我们将深入探讨两个核心组件——`spring-web.jar`和`spring-webmvc.jar`,它们在Spring MVC框架中扮演着关键角色。 首先,`spring-web.jar`是Spring框架的Web层组件,它提供了与Web相关的功能。这个库...

    spring-mvc+mybatis+mysql简单实例

    在Web开发中,Spring-MVC、MyBatis和MySQL的组合是常见的技术栈,它们为构建高效、可维护的Web应用程序提供了强大的支持。本实例将深入探讨这三者如何协同工作,以实现数据的增删查改(CRUD)操作。 首先,Spring-...

    spring-mvc-showcase-master

    在 Spring MVC 中,可以通过 @ModelAttribute 注解将对象绑定到请求或响应。 3. **Controller**:控制器层,处理来自客户端的请求,调用业务逻辑,然后将结果返回给视图。控制器类通常使用 @Controller 注解标识,...

    spring-mvc-mybatis

    - **Spring MVC配置**:配置视图解析器、拦截器、以及RequestMapping的扫描路径。 5. **项目运行流程** - 用户发送HTTP请求到DispatcherServlet。 - DispatcherServlet查找并调用对应的Controller方法。 - ...

    spring-mvc-study.zip_spring mvc_spring mvc项目_springmvc

    - **MVC配置**:通常在 `WebConfig.java` 或者 `spring-servlet.xml` 文件中配置,包括拦截器、视图解析器、转换器、格式化器等。 本项目 "spring-mvc-study" 对于初学者来说是一个很好的起点,它提供了一个基础的 ...

    spring-mvc-demo

    在 `src/main/resources` 目录下,`spring-servlet.xml` 文件是 Spring MVC 的核心配置文件,用于配置视图解析器、URL 映射、拦截器等。此外,可能还有 `web.xml` 文件,它是传统的 Servlet 容器的部署描述符,用于...

    spring-webmvc-struts.jar

    `spring-webmvc-struts.jar`是Spring框架为了与Struts框架集成而设计的一个模块,它提供了对Struts应用的Spring支持,使得开发者可以在Struts应用中利用Spring的特性,如依赖注入(DI)、面向切面编程(AOP)等。...

    spring-mvc的简单实现

    在实际开发中,Spring MVC提供了许多高级特性,如数据绑定、模型验证、本地化、主题支持、拦截器等,使得构建复杂的Web应用程序变得更加容易和灵活。通过深入学习和实践,你可以逐步掌握Spring MVC的更多功能,提升...

Global site tag (gtag.js) - Google Analytics