1. Spring IoC容器的意義
使用BeanFactory,根據(jù)制定的xml, 動(dòng)態(tài)生成對(duì)象然后加載。
只要是從BeanFactory獲取的對(duì)象,都會(huì)根據(jù)xml進(jìn)行裝配。
2. Spring MVC
在web.xml配置了DispatcherServlet,讓所有請(qǐng)求都被這個(gè)servlet攔截。同時(shí)配置了這個(gè)servlet的初始化對(duì)象。
。init-param = /WEB-INF/Config.xml ->
。viewResolver::org.springframework.web.servlet.view.InternalResourceViewResolver
。urlMapping::org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
這個(gè)urlMapping的目標(biāo),可能是被spring接管的對(duì)象,例如SimpleFormController
當(dāng)配置了DispactcherServlet之后,通過(guò)設(shè)置合適的初始化對(duì)象,能夠?qū)崿F(xiàn)某種MVC模式。
3. spring + blazeds 集成
http://static.springsource.org/spring-flex/docs/1.0.x/reference/html/ch02s02.html
在web.xml配置了2個(gè)dispatcherservlet
。*.service === /WEB-INF/remoting-servlet.xml
。/messagebroker/* === /WEB-INF/flex-config.xml 表示把blazeds的請(qǐng)求映射到messagebroker
。第一個(gè)servlet繼續(xù)配置了urlMapping
==HessianServiceExporter可將一個(gè)普通bean導(dǎo)出成遠(yuǎn)程服務(wù) 這樣這些被映射出來(lái)的service可以通過(guò)url訪問(wèn)。
問(wèn)題:這些service有固定的方法,比如execute,那么這些方法如何被調(diào)用了?代碼上看,是被command調(diào)用了。
回答:見(jiàn)第二個(gè)配置
。第二個(gè)servlet同樣配置了urlMapping;還包括
..MessageBrokerHandlerAdapter
..RemotingDestinationExporter -> callDisptacherService -> CallDispatcher -> Command.execute
問(wèn)題:那么CallDispatcher的Call是如何調(diào)用的?
回答:在Flash的xml文件里面指定調(diào)用了。
這樣故事就全部被串起來(lái)了。
首先blazeds是個(gè)servlet,被封裝過(guò)后,能夠解析flash傳輸?shù)腶mf格式。
通過(guò)spring的配置,flash的請(qǐng)求被轉(zhuǎn)移到了messagebroker = blazeds,同時(shí)這個(gè)messagebroker依賴了特定的bean,例如callHandler. 這些handler又依賴了service 的屬性,這個(gè)屬性就是我可以控制的,同時(shí)被flash調(diào)用的。
例如
what is web.xml :: listener
它能捕捉到服務(wù)器的啟動(dòng)和停止! 在啟動(dòng)和停止觸發(fā)里面的方法做相應(yīng)的操作!
一定是httpServlet
http://zhidao.baidu.com/question/39980900
如何加載services-config.xml