# springMVC #
特点:
1 基于的是servlet/jsp模式
2 控制器不再需要继承其它类,只需要用@Controller注解
3 不需要哟formbean之类的对象了,方法参数中需要的页面值,可通过@RequestParam直接从页面请求中获得
4 控制器方法签名定义灵活
5 返回页面直接在方法中指定,可以是String,也可以是其它的
6 性能也很优秀,和struts1相当,高于struts2
springMVC工作流程:
请求>>前端控制器>>应用控制器>>业务组件
前端控制器的作用:负责接收客户端请求,根据请求路径访问应用控制器,将页面参数填充实体bean,负责转发页面和对标签类支持
应用控制器作用:负责产生业务组件,调用业务方法完成业务,返回需要转发的路径
----------
默认情况下:DispatcherServlet会寻找WEB-INF下,命名规范为[servlet-name]-servlet.xml文件
也可以通过init-param改变默认配置
<init-param>
<param-name>contextConfigLocation
</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</init-param>
----------
SpringMVC方法签名
@RequestMapping(value="ps/{id}"),
method=RequestMethodGET)
public String test({
@PathVariable("id")int myId{
}
<a href="ps/1.do">访问</a>
----------
spring管理整个项目,每个spring组件都由spring容器产生,所以在web容器启动时,要读取spring的配置文件,从而加载spring容器中的组件。