package com.zf.inteceptor;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
@Component("MyInteceptor")
public class MyInteceptor extends HandlerInterceptorAdapter{
//该方法是在进入control之前会执行
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle......................");
String requestUrl = request.getRequestURI();
if (requestUrl.matches(".+goIndex.do.*")) { //可以用这种方式对某个action进行拦截 ,如果不这样 默认就是对所有control都拦截
if(request.getSession().getAttribute("loginUser") == null){
request.getRequestDispatcher("/login.jsp").forward(request , response);
}
}
return super.preHandle(request, response, handler);}
//该方法是在执行完control之后再执行
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("postHandle......................");
Map model = modelAndView.getModel(); //这里可以遍历执行完control之后,control方法返回的ModelAndView对象,并且可以修改里面的内容
for (Iterator it = model.entrySet().iterator(); it.hasNext() ;) {
System.out.println(it.next() + "\t\t-----------------------------------");;
}
super.postHandle(request, response, handler, modelAndView);
}
java进阶 http://www.javady.com/index.php/category/hign_xingneng
分享到:
相关推荐
在本文中,我们讨论了三种解决SpringMVC拦截器拦截静态资源文件的方法,并对这些方法的优劣进行了分析。 方案一是在拦截器中排除静态资源路径。在SpringMVC的配置文件中(通常是spring-mvc.xml),可以通过配置元素...
在这个项目中,你可以了解到如何配置和使用拦截器,以及如何将它们集成到 SpringMVC 应用中。 1. **SpringMVC 概述**: SpringMVC 提供了一个模型-视图-控制器架构,用于处理 HTTP 请求和响应。它简化了 MVC 应用...
- 如何配置 SpringMVC 框架以使用自定义拦截器。 - 如何在 Web 应用的部署描述符(`web.xml`)中配置 DispatcherServlet。 这些知识是构建企业级应用的基础,对于理解 SpringMVC 框架的工作原理和提高安全性至关...
这个名为“SpringMVC拦截器源代码.zip”的压缩包可能包含了Spring MVC拦截器的实现源码,这对于理解和学习如何自定义拦截器以增强应用功能非常有帮助。 1. **拦截器的基本概念** - 拦截器是AOP(面向切面编程)的...
### SpringMVC拦截器 #### 一、拦截器概述 拦截器(Interceptor)是一种轻量级、低侵入式的AOP实现方式,在SpringMVC框架中有着广泛的应用。它主要用于处理那些与业务逻辑无关但又频繁出现的功能需求,如日志记录...
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复编写...
Spring MVC 拦截器是基于Java的Servlet技术,用于处理HTTP请求的一种机制。它允许开发者在Controller...通过深入了解和熟练使用Spring MVC拦截器,开发者可以更好地控制请求处理流程,提高应用程序的灵活性和可扩展性。
- 使用Java配置时,可以通过`@EnableWebMvc` 注解启用Web MVC配置,并在`WebMvcConfigurer` 实现类中重写`addInterceptors()` 方法来注册拦截器。 3. **自定义拦截器**: - 自定义拦截器需要继承`...
综上所述,本项目是一个适合初学者了解和实践SpringMVC拦截器功能的小程序。通过学习和实践,你可以掌握如何使用拦截器实现登录验证和安全退出,同时加深对Intelli IDEA的使用理解。在实际应用中,拦截器常用于权限...
SpringMVC中的拦截器-拦截器方法的作用和执行顺序.avi
本文将深入探讨如何使用Spring MVC的拦截器实现登录验证,并提供相关知识点。 1. **Spring MVC 拦截器简介** Spring MVC的拦截器是基于Servlet的Filter的一种扩展,它允许开发者在请求被控制器处理之前或之后执行...
通过这个教程“SpringMVC-12-Interceptor”,你将能够掌握Spring MVC中拦截器的使用,包括创建自定义拦截器、配置拦截器以及理解多个拦截器的执行顺序。这将使你有能力在实际项目中灵活运用拦截器来实现各种业务需求...
SpringMVC拦截器是基于AOP(面向切面编程)的概念实现的,它们遵循HandlerInterceptor接口。这个接口定义了三个方法: 1. `preHandle`: 在请求被处理器处理之前调用,返回`true`表示继续执行处理器,`false`则中断...
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,它允许我们在请求处理前后执行自定义逻辑,如权限检查、日志记录、性能监控等。...希望本文的介绍能帮助你理解和运用Spring MVC中的自定义拦截器。
这通常在Spring配置类中完成,使用`@Configuration`和`@EnableWebMvc`注解,并且通过`addInterceptors()`方法将拦截器添加到`InterceptorRegistry`。 4. **配置拦截路径**:在注册拦截器时,需要指定拦截哪些URL。...
11SpringMVC拦截器.md
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它可以用来实现诸如权限验证、日志记录、性能统计、缓存控制等多种功能。在这个主题中,我们将深入...
SpringMVC拦截器是实现登录认证的一种常见方法,它允许开发者在请求被实际处理之前或之后执行特定的逻辑。本文将深入探讨如何利用SpringMVC拦截器来实现这一功能。 首先,了解SpringMVC的核心组件是必要的。...
以上就是使用`SessionListener`、持久化`Session`和`Springmvc拦截器`实现单点登录的基本原理和实现步骤。通过这样的设计,可以有效地提升用户体验,同时确保系统的安全性。在实际项目中,还需要根据具体需求进行...
初学者很容易将 Spring MVC 拦截器 和 Spring Cloud OpenFeign 拦截器搞混,误以为OpenFeign拦截器就是SpringMVC拦截器:Spring MVC拦截器发生在客户端 和 服务端之间,在客户端向服务端发送请求时进行拦截处理。...