现正做一个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("为什么不行啦啦啦啦啦啦!");
	}
	
	
} 
 
 
 
 
 
 
 
 
 
 
 
 
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
<aop:aspectj-autoproxy<spanstyle="font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;line-height:14.65625px;background-color:#FFFFFF;"> proxy-target-class="true"/>加入到MVC的配置文件中去不是一个context
为啥不用现成的<mvc:interceptor/>!
<divclass="ref">为啥不用现成的<mvc:interceptor/>!
<divclass="ref">为啥不用现成的<mvc:interceptor/>!
一看就知道不了解SpringMVC。。。了解还会问么!<divclass="ref">