2011-08-27 212 views
0

我試圖檢查用戶是否有在他們的瀏覽器中存儲的cookie。如果他們這樣做並且會話未設置,則調用一個服務來登錄並設置會話。因此,映射範圍必須是全局的,因爲用戶可以爲任何頁面添加書籤並稍後返回。Spring MVC 3全局請求映射

所以我就想了一個全局的控制器像這樣

@RequestMapping("/*", method=REQUESTMETHOD.GET) 
function(){login and set session if true} 

..Unfortunately的/ *似乎不使用Spring MVC的3

當然要上班,我總是可以做以下

--Inside我的header.jsp(該文件將包括每一個頁面上)

<jsp:useBean id="link" class = "Test.CLASSNAME" /> 
<%=link.getMETHOD() %> 

但是,該解決方案似乎不太優雅。

所以,我的問題是

反正有做全球範圍@RequestMapping?

有沒有更好的方式來處理我的情況使用Spring MVC 3?

謝謝:)

回答

6

聽起來像你需要一個攔截器,而不是控制器。這些「切入」您的控制器映射,允許您將邏輯應用於您的所有請求。

請參閱Spring文檔herehere瞭解如何編寫這些文件。

+1

非常感謝你:)我一直在擺弄着RequestMapping和通配符,整天都沒有運氣,因爲我懶得亂搞Interceptor。現在使用攔截器就像魅力一樣! – Infinity