我想在春天學習攔截器,但無法理解它。我嘗試了一個示例,但沒有成功。我創建了一個簡單的攔截器一樣春天的攔截器MVC
@Component("testInterceptor")
public class testInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler){
//I suppose this method will be called when I open my login page so just write something here
System.out.println("Inside Interceptor...");
ModelAndView mv = new ModelAndView();
mv.addObject("name", "test name");
return true;
}
}
在我爲spring-servlet.xml我
<context:component-scan base-package="com.test.interceptor" /> <mvc:interceptors> <bean class="com.test.interceptors.testInterceptor " /> </mvc:interceptors>
在我的登錄頁面,我寫的某處$ {name}的
所以我甚至無法在任何地方看到$ {name}值或sysout。
我甚至無法理解postHandler或afterCompletion方法何時會被調用,以及如何在實現前測試它們。這可能是因爲我對春天也很陌生,而且我無法完全理解它。如果你建議閱讀一些好的鏈接來展示一些例子,那將是很大的幫助。
在此先感謝
編輯: 現在我可以看到我的系統輸出時的CommNet我打電話給我的登錄頁面,但它顯示它的16倍,爲什麼會這樣呢?
現在我可以看到我的sysout commnet,當我打電話給我的登錄頁面,但它顯示了16次爲什麼這樣呢? – user965884