Spring mvc 如何为annotation@Controller创建拦截器
我加入了一个现有的项目,该项目在spring mvc前端使用了两种机制:Spring mvc 如何为annotation@Controller创建拦截器,spring-mvc,aspectj,interceptor,spring2.x,Spring Mvc,Aspectj,Interceptor,Spring2.x,我加入了一个现有的项目,该项目在spring mvc前端使用了两种机制: A) 控制器类扩展 org.springframework.web.servlet.mvc.SimpleFormController B) 控制器类使用注释@Controller 现在我发现了一个拦截器: @Aspect public class RequestMonitor { @Autowired private RequestMonitorService requestMonitorServic
- A) 控制器类扩展 org.springframework.web.servlet.mvc.SimpleFormController
- B) 控制器类使用注释@Controller
@Aspect
public class RequestMonitor {
@Autowired
private RequestMonitorService requestMonitorService;
@Before("execution(* org.springframework.web.servlet.mvc.Controller+.handleRequest(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse))"
+ "&& args(request,response)")
public void storeUserAccess(HttpServletRequest request, HttpServletResponse response) {
requestMonitorService.storeUserAccess(request);
}
}
谁捕获来自org.springframework.web.servlet.mvc.Controller的所有请求(机制A)
我如何适应拦截所有其他带有注释“@Controller”:org.springframework.stereotype.Controller(机制B)您拥有该类。您可以扩展它并使用子类中的方法:
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception
public void postHandle(
HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView)
throws Exception
您需要注册您的拦截器,即:
<mvc:interceptors>
<bean class="my.fully.qualified.package.RequestInterceptor" />
</mvc:interceptors>
我们使用Spring 2.5而不是3:(