我需要處理所有來自某些Spring控制器的請求,以獲取某些請求者信息或拋出諸如安全過濾器之類的異常。某些控制器的彈簧mvc過濾器
我想是否有東西buildin在春天像過濾器控制器(我需要它不是所有的控制器,但只爲某人)。 我不想通過url請求應用此過濾器,但使用類/方法擴展名或註釋。
這是我的實際的解決方案:
@Controller
public class MyFilteredController extends FilterController {
@RequestMapping("/filtered")
public void test1(HttpServletRequest req){
InfoBean infobean=filter(req);
//... controller job
}
}
延伸一類的過濾器的方法的控制器。在使用SpringDispatcherServlet
public abstract FilterController{
protected InfoBean filter(HttpServletRequest req){
//... filter job
return infobean;
}
}
,因爲我需要一些Spring上下文對象,如@服務,@庫等。這就是爲什麼我想裏面的過濾器,我不能使用這樣的過濾器的作者控制器。 – Tobia
@Tobia請閱讀我的回答,我已經具體向您展示瞭如何通過Bridge類從非彈簧(過濾器)連接到彈簧容器(@Service等)將bean引入過濾器。 –