一、Spring MVC好处
基于模型2的应用,要编写Dispatcher servlet和控制类,Dispatcher servlet必须能够做以下事:
- 根据URL调用相应action
- 实例化正确的控制器类
- 根据请求参数值来构造表单bean
- 调用控制器对象的相应方法
- 转向到一个视图
Spring MVC是一个包含了Dispatcher servlet的MVC框架。它调用控制器方法并转发到视图。使用Spring MVC能加速开发的功能列表:
- 提供一个Dispatcher servlet,无需额外开发。
- 使用基于XML的配置文件,可以编辑,无需重新编译应用程序。
- Spring MVC实例化控制器,并根据用户输入构造bean。
- 可以自动绑定用户输入,并正确地转换数据类型。
- 可以校验用户输入,若校验不通过,则重定向回输入表单。输入校验是可选的,支持编程方式以及声明方式。内置了常见的校验器。
- 是Spring框架一部分,可以利用Sprinig的其他功能。
- 支持国际化和本地化
- 支持多种视图技术
二、Spring MVC的DispatcherServlet
Spring MVC包含一个开销即用的Dispatcher Servlet,该Servlet全名是org.springframework.web.servlet.DispatcherServlet。
要使用这个servlet,需要在部署描述符(web.xml)中使用servlet和servlet-mapping元素配置它。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
on-startup元素可选,如果它存在,则它将在应用程序启动时装载servlet并调用它的init方法。若它不存在,则在该servlet的第一个请求时加载它。
该servlet初始化时会寻找WEB-INF目录下的配置文件,配置文件命名规则:servletName-servlet.xml。servletName需要与部署描述符中的一致。
配置文件可以在应用程序目录的任何地方,只需要告诉servlet文件路径。
三、Controller接口
Controller接口的实现类只能处理一个单一动作,而基于注解的控制器可以同时支持多个请求处理多种,无需实现任何接口。
四、视图解析器
视图解析器通过在配置文件中定义一个ViewResolver配置。


使用非默认配置文件的命名和路径,需要为contextConfigLocation的init-param赋予配置文件相对路径。
网友评论