spring拦截器 拦截springMVC的controller

本文介绍了使用Spring MVC结合MyBatis进行项目开发时如何利用Spring AOP实现方法拦截。通过具体的配置示例和代码实现,展示了如何配置拦截器并进行权限验证。


这段时间在用springmvc+mybatis做项目,中途用到spring aop拦截 具体配置也贴一下,这是在spring-Mvc.xml配置文件中的,注意必须在spring-MVC中加入


<aop:config proxy-target-class="true">
		<aop:aspect id="concurrentOperationRetry" ref="interceptor">
		<aop:pointcut id="idempotentOperation"
			expression="execution(* com.csuft.controller..*.*(..))" />
		<aop:around pointcut-ref="idempotentOperation" method="doSomeThingAround" />
	</aop:aspect>
	</aop:config>
	<bean id="interceptor" class="com.csuft.privilege.Interceptor">
	</bean>

 <context:component-scan base-package="com.csuft" />这句话在spring-MVC.xml中写一次,没必要到spring.xml中写了,据网上资料,写上会多实例化一次

下面是拦截器的代码


import java.lang.reflect.Method;

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

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;

import com.csuft.util.WebTool;

public class Interceptor {

	public Object doSomeThingAround(ProceedingJoinPoint pjp) throws Throwable {
		
		HttpServletRequest request = null;
		/*得到拦截的方法*/
		Method m = ((MethodSignature) pjp.getSignature()).getMethod();
		// 获得参数
		Object[] args = pjp.getArgs();
		/**
		 *权限验证
		 */
		System.out.println("=====================================拦截器==========================");
		Object result = pjp.proceed();
		return result;
	}

}

注意的是:拦截器的配置要放在spirng-mvc中,在本次拦截中我放在spring.xml中,就是不起作用,但是通过juint测试却可以执行拦截器,当然还不知道什么原因,先贴这吧

转载于:https://my.oschina.net/pangzhuzhu/blog/301755

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值