`
knight_black_bob
  • 浏览: 854036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring 拦截器

阅读更多

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:oxm="http://www.springframework.org/schema/oxm"
	xsi:schemaLocation="
	            http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
				http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
				http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd
				http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
				http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
	<!-- 激活Spring注解方式:自动扫描,并注入bean -->
	<context:component-scan base-package="com.cmcc.aoi.selfhelp.action" /> 
	<context:component-scan base-package="com.cmcc.aoi.selfhelp.wuxiancity.action" />

	
	<!-- 配置视图解析 -->
    <bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/jsp/" />
		<property name="suffix" value=".jsp" />
	</bean>
	 <!-- 默认的注解映射的支持 -->
	<mvc:annotation-driven/>
	
	
	
	
	<bean id="authInterceptor" class="com.cmcc.aoi.selfhelp.interceptor.AuthInterceptor" /> 
	<bean
		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
		<property name="interceptors"> 
			<list>
			</list>
		</property>
	</bean> 
	
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/selfhelp/**" />
			<bean class="com.aoi.selfhelp.interceptor.AoiLoginAuthInterceptor" >
				<property name="excludeUrls">
					<list> 
					    <value>/selfhelp/sysUser/create</value>
						<value>/selfhelp/sysUser/checkLoginName</value>
						<value>/selfhelp/sysUser/checkEmail</value>
						<value>/selfhelp/sysUser/save</value>
						<value>/selfhelp/email/sendActivationEmail</value>
						<value>/selfhelp/email/sendRetrievePasswordEmail</value>
						<value>/selfhelp/activation/prepareActivation</value>
						<value>/selfhelp/activation/activate</value>
						<value>/selfhelp/retrievePassword/retrievePassword</value>
						<value>/selfhelp/retrievePassword/sendEmail</value>
						<value>/selfhelp/retrievePassword/rePassword</value> 
						<value>/selfhelp/tag/report</value>
					</list>
				</property>
			</bean>
		</mvc:interceptor>
		<!-- 
		<mvc:interceptor>
			<mvc:mapping path="/selfhelp/deliverWebRequest/**" />
			<bean class="com.aoi.selfhelp.interceptor.AoiAuthInterceptor" />
		</mvc:interceptor>
		<mvc:interceptor>
			<mvc:mapping path="/selfhelp/multiple/**" />
			<bean class="com.aoi.selfhelp.interceptor.AoiAuthInterceptor" />
		</mvc:interceptor>
		 -->
	</mvc:interceptors>

	<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
		<property name="exceptionMappings">
			<props>
				<prop key="com.aoi.selfhelp.exception.AuthException">redirect:/user/login.action</prop>
				<prop key="com.aoi.selfhelp.exception.SelfHelpException">redirect:/user/staticPageAction.action?action=error</prop>
			</props>
		</property>
		<property name="defaultErrorView" value="../../common/error"></property>
	</bean>
	 
	
</beans>

 

 

package com.aoi.selfhelp.interceptor;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletContext;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import com.aoi.selfhelp.entity.SysUser;

public class AoiLoginAuthInterceptor implements HandlerInterceptor
{
	private List<String> excludeUrls;

	public List<String> getExcludeUrls()
	{
		return excludeUrls;
	}

	public void setExcludeUrls(List<String> excludeUrls)
	{
		this.excludeUrls = excludeUrls;
	}

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception
	{
		String requestUri = request.getRequestURI();
		String contextPath = request.getContextPath();
		String url = requestUri.substring(contextPath.length());

		if (excludeUrls != null && excludeUrls.contains(url))
		{
			return true;
		}
		else if (request.getSession().getAttribute("user") == null)
		{
			response.sendRedirect("/user/login.action");
			return false;
		}
		// System.out.println("preHandle " + arg2);
		return true;
	}

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception arg3)
			throws Exception
	{
		// System.out.println("afterCompletion " + arg2);
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView arg3)
			throws Exception
	{
		// System.out.println("postHandle " + arg2);
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

捐助开发者

在兴趣的驱动下,写一个免费的东西,有欣喜,也还有汗水,希望你喜欢我的作品,同时也能支持一下。 当然,有钱捧个钱场(右上角的爱心标志,支持支付宝和PayPal捐助),没钱捧个人场,谢谢各位。



 
 
 谢谢您的赞助,我会做的更好!

 

 

1
2
分享到:
评论

相关推荐

    Spring拦截器,高级参数绑定

    下面将详细探讨Spring拦截器的使用以及高级参数绑定和Controller返回值的相关知识。 首先,我们创建一个Spring拦截器需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter抽象类。以下是一个简单的拦截...

    Flex-Spring拦截器

    在深入研究Flex-Spring拦截器时,理解Spring AOP的核心概念和AMF的工作原理是至关重要的。通过这样的集成,开发者可以在保持Flex客户端的灵活性和交互性的同时,利用Spring的强大功能来处理复杂的业务逻辑和系统管理...

    spring拦截器的简单例子

    Spring 拦截器是 Spring 框架中一个非常重要的组件,主要用于处理请求和响应,实现业务逻辑之前和之后的预处理和后处理。它为开发者提供了在 MVC 模式下实现统一处理机制的机会,比如权限验证、日志记录、性能监控等...

    Spring拦截器示例

    而Spring拦截器则是实现AOP的一种方式,它类似于Java的Servlet过滤器,可以在方法调用前后执行自定义的操作。 AOP拦截器在Spring中主要通过`HandlerInterceptor`接口或者`@AspectJ`注解来实现。下面我们将详细探讨...

    spring拦截器的一个简单实例

    本文将深入探讨Spring拦截器的一个简单实例,通过源码分析和实际操作,帮助你理解其工作原理。 首先,我们需要了解Spring MVC的处理流程。当一个HTTP请求到达服务器时,Spring MVC会按照配置的DispatcherServlet...

    spring拦截器的简单例子.docx

    Spring 拦截器是 Spring AOP(面向切面编程)的一个重要组成部分,它允许开发者在方法调用前后插入自定义的行为。在这个简单的例子中,我们将深入理解如何配置和使用 Spring 的拦截器来实现特定的功能。 首先,我们...

    使用CGLIB模拟spring的拦截器

    在`intercept`方法中,我们实现了类似Spring拦截器的功能,调用`preHandle`和`postHandle`方法,并根据`preHandle`的结果决定是否执行目标方法。 最后,`afterCompletion`方法的调用通常需要手动管理,因为它涉及到...

    spring MVC(新增拦截器demo)

    在本次的“spring MVC(新增拦截器demo)”项目中,我们将重点探讨如何在Spring MVC中添加拦截器来实现对请求的预处理和后处理。 拦截器在Spring MVC中扮演着关键的角色,它们可以用来执行一些全局性的任务,如日志...

    springboot spring aop 拦截器注解方式实现脱敏

    这将设置Spring Web相关类的日志级别为DEBUG,以便我们能看到拦截器的执行过程。 启动类通常会包含`@SpringBootApplication`注解,该注解包含了`@EnableAutoConfiguration`,`@ComponentScan`和`@...

    SpringBoot的拦截器

    Spring Boot提供了对Spring MVC的集成,因此我们可以利用Spring MVC的拦截器机制来实现这些功能。 首先,让我们了解一下Spring Boot中创建拦截器的基本步骤: 1. 创建自定义拦截器类:你需要创建一个实现了`...

    Spring拦截器HandlerInterceptor接口代码解析

    Spring拦截器HandlerInterceptor接口代码解析 Spring拦截器HandlerInterceptor接口代码解析是Spring框架中的一种重要机制,它允许开发者在请求处理过程中执行自定义逻辑,以达到验证、日志记录、性能监控、安全检查...

    spring boot 登录拦截器

    在Spring Boot应用中,登录拦截器是一个至关重要的组件,它用于保护特定的Web资源,确保只有经过身份验证的用户才能访问。Spring Boot结合了Spring MVC框架,提供了方便的方式来实现这样的拦截器。本篇文章将深入...

    Spring AOP四种创建通知(拦截器)类型

    ### Spring AOP 四种创建通知(拦截器)类型详解 Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要模块,它提供了在应用代码中添加横切关注点的能力,如日志记录、事务管理、权限...

    java + spring boot +jpa 拦截器分库分表demo

    在Spring Boot中注册拦截器,我们需要在配置类中使用`@EnableAspectJAutoProxy`开启AOP代理,并通过`@Bean`注解声明拦截器实例。然后,使用`@Around`注解定义切点,即拦截所有的JPA操作。 在实际开发中,为了使分库...

    自己spring boot 拦截器

    在Spring Boot应用中,拦截器(Interceptor)是Spring MVC框架的一部分,用于在请求处理之前、之后或在实际处理过程中执行一些预定义的任务。这通常包括权限检查、日志记录、性能监控等。自定义拦截器可以帮助我们更...

    spring配置JSON拦截器VIEW

    标题中的“spring配置JSON拦截器VIEW”指的是在Spring框架中设置JSON数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...

    详解Spring MVC拦截器实现session控制

    Spring MVC拦截器是Spring Web框架的一个重要组成部分,它允许开发者在处理请求之前或之后执行自定义的操作,例如权限校验、日志记录等。在本篇文章中,我们详细探讨了如何通过Spring MVC拦截器实现session的控制,...

    CXF3.0+Spring3.2 自定义拦截器

    3. **Spring集成**:在Spring3.2中,我们可以使用`&lt;cxf:bus&gt;`和`&lt;cxf:interceptor&gt;`标签将自定义拦截器注册到CXF Bus中。这样,Spring容器会管理拦截器的生命周期,并在需要时注入其他依赖。 4. **拦截器链**:CXF...

    SpringBoot拦截器原理解析及使用方法

    在SpringBoot框架中,拦截器是一个非常重要的组件,它能够在请求到达控制器(Controller)之前或者之后对请求进行拦截,以完成一些预处理或后处理操作。拦截器通常用于权限检查、日志记录、性能监控等场景。 拦截器...

    使用spring拦截器实现日志管理实例

    ### 使用Spring拦截器实现日志管理实例 在Web应用程序中,日志管理是至关重要的,它可以帮助开发者跟踪和诊断系统中的问题。Spring框架提供了一种优雅的方式来实现这一目标,即通过使用`HandlerInterceptor`接口...

Global site tag (gtag.js) - Google Analytics