一、拦截器:Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必 须实现HandlerInterceptor接口
二、实现步骤:
1.自定义实现类实现HandlerInterceptor接口
2.在springMVC中配置文件中的配置相应的拦截器
实现的代码:
1.自定义实现类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package com.neuedu.springmvc.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
/* * 项目名称:springmvc-03 * @author:(官网:www.fhadmin.org) * @date 创建时间:2017年8月24日 上午10:37:35 * @Description:自定义拦截器 * @parameter * */ public class interceptor implements HandlerInterceptor{
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println( "afterCompletion" );
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
throws Exception {
System.out.println( "postHandle" );
}
@Override
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2) throws Exception {
System.out.println( "preHandle" );
return true ;
}
} |
2.在springMVC中配置文件中的配置相应的拦截器
1
2
3
4
5
|
<!-- 配置拦截器 --> <mvc:interceptors>
<!-- 配置自定义拦截器全类名 -->
<bean class = "com.neuedu.springmvc.interceptor.interceptor" ></bean>
</mvc:interceptors>
|
三、拦截器工作原理
四、拦截器中的三种方法:
– preHandle():该方法在目标方法之前被调用,
若返回值为true,则继续调用后续的拦截器和目标方法
若返回值为false,则不会再调用后续的拦截器和目标方法
可以考虑做权限,日志或者事务等!
– postHandle():调用目标方法之后,但渲染视图之前被调用
可以对请求域中的属性或者视图做出修改!
– afterCompletion():(官网:www.fhadmin.org) 渲染视图之后被调用,
可以在该方法中进行一些资源清理的操作。
五/多拦截器的实现
可以自定义多个拦截器实现类(官网:www.fhadmin.org),然后只需要在SpringMVC-xml文件中进行配置就行
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<!-- 配置拦截器 --> <mvc:interceptors> <!-- 配置自定义拦截器全类名 -->
<bean class = "com.neuedu.springmvc.interceptor.interceptor" ></bean>
<!-- 增加拦截器配置 -->
<mvc:interceptor >
<!-- 可以配置拦截的请求路径 -->
<mvc:mapping path= "/testJson" />
<!-- 配置自定义拦截器全类名 -->
<bean class = "com.neuedu.springmvc.interceptor.SecondInterceptor" >
</bean>
</mvc:interceptor>
</mvc:interceptors> |
六、多拦截器的执行顺序图
相关推荐
在SpringMVC框架中,拦截器(Interceptor)是一种强大的机制,它可以用来在请求处理之前、之后或处理过程中执行额外的逻辑。自定义拦截器允许开发者根据业务需求进行更精细的控制,例如权限验证、日志记录、性能统计...
在"狂神说springmvc笔记.zip"这个压缩包中,我们可以期待找到关于SpringMVC的详细讲解和实践示例。 1. **SpringMVC架构**: SpringMVC的核心组件包括DispatcherServlet、HandlerMapping、HandlerAdapter、...
SpringMVC作为Java EE开发中广泛使用的MVC框架,它基于模型-视图-控制器(Model-View-Controller,MVC)的设计模式,为Web层开发提供了清晰的角色划分和灵活的配置。在传智播客提供的“Springmvc+Mybatis由浅入深...
SpringMVC笔记涉及了SpringMVC框架的全面知识,从基础入门到高级应用,内容丰富涵盖了架构原理、组件配置、处理器映射器和适配器的配置、视图解析、源码分析、整合MyBatis、参数绑定与校验、异常处理、RESTful支持...
SpringMVC笔记 SpringMVC是基于Java的开源web框架,主要用于开发基于Web的应用程序。下面是SpringMVC的笔记,涵盖了SpringMVC的基础知识、配置、开发步骤、控制器、注解、类型转换等方面的内容。 Model1与Model2...
此外,还会讲解Springmvc的拦截器、异常处理和数据绑定等高级功能。 这套笔记不仅涵盖了理论知识,还包含了丰富的实践案例,有助于读者将理论知识转化为实际操作能力。通过Mybatis的学习,你可以掌握如何高效地执行...
SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的请求-..."SpringMVC笔记.zip"中的内容可能包括了这些知识点的详细讲解,以及通过typora软件呈现的图文并茂的说明,有助于学习者更好地理解和掌握SpringMVC。
- 自定义拦截器,实现预处理、后处理和链式拦截。 通过深入学习和实践 SpringMVC,开发者可以构建高效、可维护的 Web 应用程序,并充分利用 Spring 生态系统的强大功能。无论是在大型企业级应用还是小型项目中,...
在这个"springMVC笔记以及实例"的压缩包中,可能包含了关于SpringMVC的详细讲解、代码示例,特别是关于文件上传和跨服务器文件传输的部分。 1. **SpringMVC基础**:SpringMVC通过DispatcherServlet作为前端控制器...
DispatcherServlet 是 SpringMVC 的核心组件,它作为前端控制器负责拦截所有 HTTP 请求,然后分发到相应的处理器。你需要创建一个自定义的 DispatcherServlet 类,可能需要继承 `org.springframework.web.servlet....
4. **拦截器(Interceptor)**:学习如何编写和注册自定义拦截器,实现请求预处理和后处理功能,如日志记录、权限检查等。 5. **异步处理**:了解SpringMVC对异步请求的支持,如使用@Async注解实现后台任务。 6. *...
### SpringMVC学习课堂笔记知识点总结 #### 一、SpringMVC基础知识 ##### 1.1 什么是SpringMVC? SpringMVC是Spring框架的一部分,主要用于构建Web应用程序。它遵循了MVC(Model-View-Controller)设计模式,提供...
SpringMVC是Spring框架的一部分,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构。在本文中,我们将深入探讨SpringMVC的基本概念、配置和关键注解,以便更好地理解和应用这一强大的Web开发工具。 首先,...
- 实现`HandlerInterceptor`接口或继承`HandlerInterceptorAdapter`类来创建拦截器。 通过以上内容的学习,我们可以了解到SpringMVC框架的强大功能以及如何有效地使用这些功能来构建高效、可维护的Web应用程序。...
内容概要:超详细SpringMVC笔记,包含初始SpringMVC,请求与响应,REST风格,SSM整合,表现层数据封装,异常处理器,项目异常处理方案,前后台联调,拦截器等知识点适合人群:学习过Spring课程的人群,初步理解框架...
#### 七、SpringMVC中的拦截器 拦截器(Interceptor)是在控制器方法执行前后进行拦截处理的一种机制,用于实现全局功能(如权限控制、日志记录等)。 - **实现方式**: - 实现`HandlerInterceptor`接口或继承`...
- **spring-servlet.xml**:SpringMVC的核心配置文件,包括视图解析器、拦截器、数据源等的配置。 4. **ModelAndView对象** - 用于在控制器中存储模型数据,并指定视图名称。 5. **视图解析** - **JSP**:常用...
在这个文件中,可能包含了关于 SpringMVC 的更深入实践,如拦截器(Interceptor)的实现,自定义异常处理,以及如何整合其他技术,如 MyBatis 作为持久层框架,或者 Thymeleaf 作为视图模板引擎。 学习 SpringMVC ...
2. **架构模式**:SpringMVC遵循经典的MVC架构模式,而Struts2采用了拦截器架构模式。 3. **灵活性**:SpringMVC更加灵活,可以通过注解、XML配置等方式进行定制;Struts2虽然也提供了插件机制,但在某些方面不如...