快速业务通道

Spring学习点滴,《Spring in Action》笔记(五) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

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>

Spring学习点滴,《Spring in Action》笔记(五)(2)

时间:2011-08-18 unmi.cc 隔叶黄莺

75. Spring 最简单的视图解析器是 InternalResourceViewResoler,如在 unmi-servlet.xml 有下配 置

<bean id="viewResolver" 

class="org.springframework.web.servlet.view.InternalResourceViewResoler">   

<property name="prefix"><value>/WEB-

INF/jsp/</value></proeprty>   <property 

name="surfix"><value>.jsp/</value></proeprty></bean>

;

那么,当 HomeController 中 返回 return new ModelAndView("home"); 时将会解析成由视图 /WEB -INF/jsp/home.jsp 来展示(P248)

76. 前面只是在 unmi-servlet.xml 配置上 InternalResourceViewResoler,那么 Spring 怎么就知 道该用哪个 viewResolver 呢?那要从配置在 web.xml 中的 DispatchServlet 说起。类的层级关系及初 始化时方法调用关系如下:

   HttpServlet.init(ServletConfig)             ∟HttpServletBean.init()         

                     ∟FrameworkServlet.initServletBean()                                

            ∟DispatcherServlet.initFrameworkServlet()

初始化 Handle

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号