Spring-MVC如何使用拦截器,今天看了一下官方文档,没有找到注解的例子,只给出了非注解风格的例子。基于注解风格如何使用拦截器呢?
基于注解有两个可以使用的定义类,分别是DefaultAnnotationHandlerMapping
和
AnnotationMethodHandlerAdapter
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
DefaultAnnotationHandlerMapping本身支持自定义拦截器,配置如下
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<list>
<bean class="com.chenzhou.blog.comment.interceptor.ExceptionInterceptor"/>
</list>
</property>
</bean>
Interceptor的定义如下:
public class ExceptionInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
// TODO Auto-generated method stub
return super.preHandle(request, response, handler);
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
super.postHandle(request, response, handler, modelAndView);
}
}
在AnnotationMethodHandlerAdapter中还没有找到如何配置自定义Interceptor的方法!
分享到:
相关推荐
《网上书城 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的更多功能,提升...