Spring MVC学习笔记
笔记系深度优先算法,容易迷失。呜哈哈哈
Spring能干什么:参见Spring的结构(http://hi.baidu.com/lyf9901/blog/item/803e473db44e55e93c6d97c1.html)
先看看Spring MVC,简单想就是请求转发。
那么这个管理请求转发的类是哪个?yes,DispatcherServlet。
在哪里定义呢?web.xml
------深度优先web容器初始化
这个文件中跟Spring相关的还有两个配置:context-param,listener(servlet)。这两个是干啥用的呢?
先看看web容器的初始化吧!(参见http://mzhj.iteye.com/blog/753184)
初始化的时候就是建立个上下文:这两个配置,前者用于说明配置文件是哪些,后者指定一个类,实现了一个初始化容器的方法,这个方法用于读取配置文件,初始化上下文(上下文直观点就是指一个共享的数据存储区,运行期间需要的时候都可以访问)。
深度优先到此停止。(疑问点,这个方法貌似不同的工程实现方法不太相同,有的初始化方法名都不一样)
继续深度优先-------
那么spring初始化容器的方式有哪些呢,一般有两种ContextLoaderListener和ContextLoaderServlet,分别在web.xml以listener和servlet的方式声明。
关于用哪个,以及与初始化相关过程的说明,这个文档讲的很清楚(http://blog.csdn.net/sky_zhangfan/article/details/4198019)。
还有一种我认为的非主流的:在struts中用plugsIn的方式,参见(http://www.blogjava.net/jackstudio/archive/2006/11/09/80060.html)。
深度优先结束-------
--------深度优先DispatcherServlet
web.xml指定的那个name,去WEB-INF下找name-servlet去处理请求转发,详见(http://mmz06.blog.163.com/blog/static/12141696201041711311928/),此例是采用bean来指向转发给哪个实例。也可以使用struts的方式来指定转发。也就是使得宏观上spring,微观上还要用struts。例为wap工程。详见ServletWrappingController的类前说明。这里说了:为什么名字有约定?struts不会感觉到这层的存在。
posted on 2011-07-14 17:34 youngForYou 阅读(464) 评论(0) 收藏 举报
浙公网安备 33010602011771号