这是我的问题
我想在任何 spring 控制器调用之前拦截请求,检查和修改请求 URI。之后它必须调用另一个 SPRING 控制器方法。
我使用了 mvc:interceptors 但是我想用注释来配置它,这就是我需要@Aspect 解决方案的原因。一切正常,但控制器调用了两次,用于原始请求和新请求。使用拦截器我返回 false 并取消它,我该如何处理 Aspect 类?谢谢
这是我的代码:
@Component
@Aspect
public class TestAspect {
@Before("execution(* mycontroller.*(..)) &&" + "args(request,response)")
public void interceptUrl(HttpServletRequest request, HttpServletResponse response) {
System.out.println("@Aspect is running!");
System.out.println(request.getRequestURI());
if (request.getAttribute("client") == null) {
request.setAttribute("client", "test");
request.getRequestDispatcher("/newpath/contact").forward(request, response);
}
}
}