文档章节

spring拦截器 拦截springMVC的controller

猪刚烈
 猪刚烈
发布于 2014/08/16 09:31
字数 250
阅读 304
收藏 0


这段时间在用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测试却可以执行拦截器,当然还不知道什么原因,先贴这吧

本文转载自:http://blog.csdn.net/xh199110/article/details/36879833

猪刚烈

猪刚烈

粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
SpringMVC开发 知识点速查

SpringMVC入门 什么是SpringMVC 实现MVC设计模式的框架 SpringMVC核心组件 DispatcherServlet 前置控制器,调度 Handler 处理器,完成具体业务逻辑 HandlerMapping 将请求映射到Handler,映射...

linxinzhe
2018/05/19
0
0
SpringMVC后台token防重复提交解决方案

SpringMVC后台token防重复提交解决方案 本文介绍如何使用token来防止前端重复提交的问题。 目录 1.思路 2.拦截器源码实现 3.注解源码 4.拦截器的配置 5.使用指南 6.结语 思路 核心源码 拦截器...

YClimb
2018/03/16
0
0
SpringMVC中使用Interceptor拦截器

SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判...

凯文加内特
2015/05/29
602
0
SpringBoot入坑指南之六:使用过滤器或拦截器

开篇 在Web应用中,常常存在拦截全部或部分请求进行统一处理的应用场景,如权限校验、参数校验、性能监控等。 在SpringMVC框架中,我们可以通过过滤器或拦截器实现相关功能,spring-boot-sta...

centychen
03/05
2.7K
5
在Spring-Boot中实现通用Auth认证的几种方式

前言 最近一直被无尽的业务需求淹没,没时间喘息,终于接到一个能让我突破代码舒适区的活儿,解决它的过程非常曲折,一度让我怀疑人生,不过收获也很大,代码方面不明显,但感觉自己抹掉了 ...

枕边书
2018/07/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据流中的中位数

参考:https://sunweiguo.github.io/2019/03/18/%E5%89%91%E6%8C%87offer/%E3%80%90%E9%9D%A2%E8%AF%95%E9%A2%9863-%E6%95%B0%E6%8D%AE%E6%B5%81%E4%B8%AD%E7%9A%84%E4%B8%AD%E4%BD%8D%E6%95......

Garphy
17分钟前
4
0
微服务下配置管理中心 SCCA

SCCA 简介 SCCA 全称 spring-cloud-config-admin,微服务下 Spring Boot 应用(包含 Spring Cloud)统一的配置管理平台。 Github 地址:spring-cloud-config-admin 核心贡献者:程序员DD | ...

SpringForA
19分钟前
5
0
spring 是如何注入对象的和bean 创建过程分析

文章目录: beanFactory 及 bean 生命周期起步 BeanFactory refresh 全过程 BeanFactoryPostProcessor 和 BeanPostProcessor 解析 使用 BeanPostProcessor 实现 aop 和 springboot Cache 相关......

sanri1993
23分钟前
9
0
@PathVariable使用

public interface ProductInfoRepository extends JpaRepository<ProductInfo, String>{ List<ProductInfo> findByProductId(String productId);} ProductInfoController @Autowired ......

观海562
34分钟前
6
0
利用CSS禁止手机长按出现气泡: 复制、选择等功能

可以用 * ,也可作用于一个div div{  -webkit-touch-callout:none;  /*系统默认菜单被禁用*/  -webkit-user-select:none; /*webkit浏览器*/  -khtml-user-select:none; /*早期浏览...

蓝小驴
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部