文档介绍:1 总结一下 springMVC 几个关键的步骤,总共可以分为六个步骤,分别为: (1)客户端向 spring 容器发起一个 http 请求(2) 发起的请求被前端控制起所拦截(DispatcherServlet) ,前端控制器会去找恰当的映射处理器来处理这次请求。(3)根据处理器映射( Handler Mapping ) 来选择并决定将请求发送给那一个控制器。(4) 在控制器中处理所发送的请求,并以 modeandView ( 属性值和返回的页面)的形式返回给向前端控制器。(5)前端控制器通过查询 viewResolver 对象来试着解决从控制返回的视图。(6)如果前端控制找到对应的视图,则将视图返回给客户端,否则抛异常。 mvc 框架的特点如果仅仅关注于 web 方面的支持, Spring 有下面一些特点: ?清晰的角色划分:控制器,验证器,命令对象,表单对象和模型对象;分发器,处理器映射和视图解析器;等等。?直接将框架类和应用类都作为 JavaBean 配置,包括通过应用上下文配置中间层引用,例如,从 web 控制器到业务对象和验证器的引用。?可适应性,但不具有强制性:根据不同的情况,使用任何你需要的控制器子类(普通控制器,命令,表单,向导,多个行为,或者自定义的) ,而不是要求任何东西都要从 Action/ActionForm 继承。?可重用的业务代码,而不需要代码重复:你可以使用现有的业务对象作为命令对象或表单对象,而不需要在 ActionForm 的子类中重复它们的定义。?可定制的绑定和验证:将类型不匹配作为应用级的验证错误,这可以保存错误的值,以及本地化的日期和数字绑定等,而不是只能使用字符串表单对象,手动解析它并转换到业务对象。 2 ?可定制的处理器映射,可定制的视图解析:灵活的模型可以根据名字/值映射,处理器映射和视图解析使应用策略从简单过渡到复杂,而不是只有一种单一的方法。?可定制的本地化和主题解析,支持 JSP ,无论有没有使用 Spring 标签库, 支持 JSTL ,支持不需要额外过渡的 Velocity ,等等。?简单而强大的标签库,它尽可能地避免在 HTML 生成时的开销,提供在标记方面的最大灵活性。 S pring MVC 开发实现步骤: web project spring 支持 ,配置 DispatcherServlet Model 层实体类 Controller View 1、 ContextLoaderListener 的作用就是启动 Web 容器时, 自动装配 ApplicationContext 的配置信息。因为它实现了 ServletContextListener 这个接口,在 配置这个***, 启动容器时, 就会默认执行它实现的方法。至于 这个配置文件部署在哪,如何配置多个 xml 文件,书上都没怎么详细说明。现在的方法就是查看它的 API 文档。在 ContextLoaderListener 中关联了 ContextLoader 这个类, 所以整个加载配置过程由 ContextLoader 来完成。看看它的 API 说明第一段说明 ContextLoader 可以由 ContextLoaderListener 和 ContextLoaderServle t 生成。如果查看 ContextLoaderServlet 的 API ,可以看到它也关联了 ContextLoader 这个类而且它实现了 HttpServlet 。这个接口 3 第二段, ContextLoader 创建的是 XmlWebApplicationContext 这样一个类, 它实现的接口是 WebApplicationContext->ConfigurableWebApplicationContext->ApplicationContext->Bea nFactory 这样一来 spring 中的所有 bean 都由这个类来创建第三段, 讲如何部署 applicationContext 的 xml 文件,如果在 中不写任何参数配置信息,默认的路径是”/WEB-INF/ ,在 WEB-INF 目录下创建的 xml 文件的名称必须是 。如果是要自定义文件名可以在 里加入 con