Sping AOP用AspectJ注解的方式拦截不到SpringMVC的controller方法

发布于 2021-11-21 06:46:13 字数 1618 浏览 915 评论 7

现正做一个springMVC+spring+Hibernate的项目。我想实现的是,用户在没有登录的情况下输入任何URL会自动跳到login.jsp 。用户输入URL,URL请求会交由给springMVC的controller去处理,我想用AOP拦截这些URL请求,判断是否登录。我采用基于注解的AspectJ方式,但总是拦截不到,控制台没有报错,照常执行controller里面的方法,贴出代码,求帮忙看看。


spring的配置文件有写注解的配置:

<context:annotation-config />
<context:component-scan base-package="com.zack" />
<aop:aspectj-autoproxy proxy-target-class="true"/>
controller:

@Controller
@RequestMapping("/user")
public class UserController {
	
	private UserService userService;

	public UserService getUserService() {
		return userService;
	}
	
	@Resource
	public void setUserService(UserService userService) {
		this.userService = userService;
	}
	
	@RequestMapping("/getUser.do")
	public User getUser(String userName){
		return userService.getUser(userName);
	}
	
	@RequestMapping("/save.do")
	public String save(User user){  
		
		userService.saveUser(user);
        return "/success";        
    }
}
URL输入 /项目/user/save.do 希望被下面的Interceptor拦截到,执行输出语句,但是不行。。


切面:

@Component
@Aspect
public class Interceptor {
	
	
	@Pointcut("execution(* com.zack.controller.*.*(..))")
	public void doFilter(){
		
	}
	
	@Before("doFilter()")
	public void beforeMethod(){
		System.out.print("为什么不行啦啦啦啦啦啦!");
	}

	
	
}







如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

清欢 2021-11-26 11:27:23

一看就知道不了解SpringMVC

带上头具痛哭 2021-11-26 11:05:38

。。。了解还会问么!

狠疯拽 2021-11-26 11:05:05

一看就知道不了解SpringMVC

温柔少女心 2021-11-26 10:11:50

为啥不用现成的<mvc:interceptor />!

反话 2021-11-26 02:57:25

为啥不用现成的<mvc:interceptor />!

梦中楼上月下 2021-11-25 14:43:02

为啥不用现成的<mvc:interceptor />!

能否归途做我良人 2021-11-24 07:01:49

<aop:aspectj-autoproxy
 proxy-target-class="true"/> 加入到MVC 的配置文件中去 不是一个context

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文