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来实现高效、灵活的Web应用程序开发。Spring-MVC是Spring框架的一部分,专门用于处理Web层的业务,提供了...
总的来说,"一个改进版的spring-mvc-showcase"项目展示了如何利用Spring MVC构建一个现代Web应用,并且可能涵盖了许多高级特性,如AOP(面向切面编程)、RESTful API设计、拦截器、数据校验、异常处理等。...
在本教程中,我们将深入探讨如何使用Spring-MVC框架来开发一个简单的项目实例。Spring-MVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。它使得开发者可以将业务逻辑、数据访问...
在这个过程中,Spring MVC提供了丰富的自定义点,如拦截器(Interceptor)可以扩展处理逻辑,数据绑定和验证可以确保输入的有效性,异常处理机制可以优雅地管理错误情况。 在"mdeinum-pro-spring-mvc-code"项目中,...
这个简易版的 Spring MVC 框架可能没有包含所有的特性,如拦截器、国际化、上传下载等,但它足以帮助初学者理解 Spring MVC 的基本工作原理。在实际项目中,开发者可以根据需求逐步添加和配置更多功能,以构建更复杂...
Spring MVC 是 Spring 框架的一个重要组成部分,用于构建基于模型-视图-控制器(Model-View-Controller)架构的Web应用程序。这个官方实例“spring-mvc-showcase”旨在为开发者提供一个清晰的理解和实践Spring MVC...
- `dispatcher-servlet.xml` 是 Spring MVC 的配置文件,其中定义了视图解析器、拦截器、模型-视图对以及其他组件。 4. **编写 Controller**: - 创建一个简单的 `HelloWorldController` 类,该类包含一个处理...
在Spring Boot中,通常通过`WebMvcConfigurer`或`WebMvcConfigurerAdapter`进行自定义配置,如拦截器、视图解析器、消息转换器等。 十、RESTful API 通过`@RestController`注解,可以创建RESTful服务,处理JSON或...
8. **MVC配置文件**:在Spring MVC中,通常会有一个或多个配置文件(如spring-mvc.xml)来定义组件扫描、视图解析器、拦截器等设置。 9. **Spring JDBC/ORM集成**:Spring提供了与JDBC的集成,简化了数据库操作,...
一个典型的Spring MVC应用需要配置DispatcherServlet、视图解析器、拦截器等。XML配置或Java配置都可以,现在更推荐使用Java配置,因为更直观且易于维护。 10. **单元测试与集成测试** Spring MVC提供测试支持,...
2. **配置文件**:Spring MVC的配置通常在`spring-servlet.xml`或`applicationContext.xml`文件中进行,包括视图解析器(如`InternalResourceViewResolver`)、拦截器(如`HandlerInterceptor`)、以及处理器映射器...
在 `spring-mvc-helloworld` 项目中,可能会包含一个 `web.xml` 文件来配置 DispatcherServlet。此外,还需要 Spring MVC 的配置文件(如 `servlet-context.xml`),其中定义了 Controller、视图解析器和其他组件的...
在本讨论中,我们将深入探讨两个核心组件——`spring-web.jar`和`spring-webmvc.jar`,它们在Spring MVC框架中扮演着关键角色。 首先,`spring-web.jar`是Spring框架的Web层组件,它提供了与Web相关的功能。这个库...
在Web开发中,Spring-MVC、MyBatis和MySQL的组合是常见的技术栈,它们为构建高效、可维护的Web应用程序提供了强大的支持。本实例将深入探讨这三者如何协同工作,以实现数据的增删查改(CRUD)操作。 首先,Spring-...
在 Spring MVC 中,可以通过 @ModelAttribute 注解将对象绑定到请求或响应。 3. **Controller**:控制器层,处理来自客户端的请求,调用业务逻辑,然后将结果返回给视图。控制器类通常使用 @Controller 注解标识,...
- **Spring MVC配置**:配置视图解析器、拦截器、以及RequestMapping的扫描路径。 5. **项目运行流程** - 用户发送HTTP请求到DispatcherServlet。 - DispatcherServlet查找并调用对应的Controller方法。 - ...
- **MVC配置**:通常在 `WebConfig.java` 或者 `spring-servlet.xml` 文件中配置,包括拦截器、视图解析器、转换器、格式化器等。 本项目 "spring-mvc-study" 对于初学者来说是一个很好的起点,它提供了一个基础的 ...
在 `src/main/resources` 目录下,`spring-servlet.xml` 文件是 Spring MVC 的核心配置文件,用于配置视图解析器、URL 映射、拦截器等。此外,可能还有 `web.xml` 文件,它是传统的 Servlet 容器的部署描述符,用于...
`spring-webmvc-struts.jar`是Spring框架为了与Struts框架集成而设计的一个模块,它提供了对Struts应用的Spring支持,使得开发者可以在Struts应用中利用Spring的特性,如依赖注入(DI)、面向切面编程(AOP)等。...
在实际开发中,Spring MVC提供了许多高级特性,如数据绑定、模型验证、本地化、主题支持、拦截器等,使得构建复杂的Web应用程序变得更加容易和灵活。通过深入学习和实践,你可以逐步掌握Spring MVC的更多功能,提升...