Spring学习点滴,《Spring in Action》笔记(五)2011-08-18 unmi.cc 隔叶黄莺第八章. 建立 Web 层71. Spring 的 MVC 和 Struts 的 MVC 基本一致Spring 的控制流程是:请求->DispatcherServlet->从 HandlerMapping 中查询到处理该请求 的 Controller-> Controller 的 handleRequest 方法调用业务方法,最后返回 ModelAndView (ModelAndView告诉了 DispatcherServlet 转向到哪个视图)Struts 的控制流程是:请求->ActionServlet->从 ActionMapping 中查询到处理该请求的 Controller (Action类)->Action 的execute 方法调用业务方法,最后返回 ActionForward (ActionForward告诉了 ActionServlet 该转向到哪个视图)(P243)72. Spring 的 DispatcherServlet 和 Struts 的 ActionServlet 的配置方式是一样的,都是作为一 个自启动的 Servlet 配置到 web.xml 中。Spring 的 url-pattern 的配置惯例是 *.htm,而 Struts 通 常是配置成 *.do 或 *.action,它暴露了 web 使用的技术。(P244)73. Spring 中配置了
<servlet-mapping>
<servlet-name>unmi</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
后,在初始化相应的 DispatcherServlet 时会自动加载 /WEB-INF/unmi-servlet.xml 文件,它是一 个普通的 Spring Bean 配置文件,也是由 WebApplicationContext 加载。其他的 Bean 配置文件需要像 通常的做法由 ContextLoaderListener 或 ContextLoaderServlet 来加载。Spring MVC 内部要使用到的 Bean 就从 unmi-servlet.xml 中获取(P244)73. Struts 1.2? 后开始可以在 struts-cnfig.xml 中给 Action 注入简单属性,而 Spring 配置 controller 时可以注入所有类型属性(P247)74. 在 unmi-servlet.xml 中配置的下面这段代码,Spring 将对请求 URL 是 "/home.html" 结尾的 分派给 HomeController 处理,DispatcherServlet 使用的默认处理器映射是 BeanNameUrlHandlerMapping(P247)
<bean name="/home.html" class="com.unmi.HomeController">
<property name="greeting"><value>Welcome to Spring Training</value></property>
</bean>