和Struts1一樣,Spring的Controller是Singleton的。這就意味着會被多個請求線程共享。是以,我們将控制器設計成無狀态類。
在spring 3.0中,通過@controller标注即可将class定義為一個controller類。為使spring能找到定義為controller的bean,需要在spring-context配置檔案中增加如下定義:
注:實際上,使用@component,也可以起到@Controller同樣的作用。
在類前面定義,則将url和類綁定。
在方法前面定義,則将url和類的方法綁定,如下所示:
一般用于将指定的請求參數付給方法中形參。示例代碼如下:
這樣,就會将name參數的值付給uname。當然,如果請求參數名稱和形參名稱保持一緻,則不需要這種寫法。
将ModelMap中指定的屬性放到session中。示例代碼如下:
注:名字為”user”的屬性再結合使用注解@SessionAttributes可能會報錯。
這個注解可以跟@SessionAttributes配合在一起用。可以将ModelMap中屬性的值通過該注解自動賦給指定變量。
示例代碼如下:

View Code
唯有不斷學習方能改變!
-- <b>Ryan Miao</b>