和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>