1. Spring IoC容器的意義
使用BeanFactory,根據制定的xml, 動態生成對象然后加載。
只要是從BeanFactory獲取的對象,都會根據xml進行裝配。
2. Spring MVC
在web.xml配置了DispatcherServlet,讓所有請求都被這個servlet攔截。同時配置了這個servlet的初始化對象。
。init-param = /WEB-INF/Config.xml ->
。viewResolver::org.springframework.web.servlet.view.InternalResourceViewResolver
。urlMapping::org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
這個urlMapping的目標,可能是被spring接管的對象,例如SimpleFormController
當配置了DispactcherServlet之后,通過設置合適的初始化對象,能夠實現某種MVC模式。
3. spring + blazeds 集成
http://static.springsource.org/spring-flex/docs/1.0.x/reference/html/ch02s02.html
在web.xml配置了2個dispatcherservlet
。*.service === /WEB-INF/remoting-servlet.xml
。/messagebroker/* === /WEB-INF/flex-config.xml 表示把blazeds的請求映射到messagebroker
。第一個servlet繼續配置了urlMapping
==HessianServiceExporter可將一個普通bean導出成遠程服務 這樣這些被映射出來的service可以通過url訪問。
問題:這些service有固定的方法,比如execute,那么這些方法如何被調用了?代碼上看,是被command調用了。
回答:見第二個配置
。第二個servlet同樣配置了urlMapping;還包括
..MessageBrokerHandlerAdapter
..RemotingDestinationExporter -> callDisptacherService -> CallDispatcher -> Command.execute
問題:那么CallDispatcher的Call是如何調用的?
回答:在Flash的xml文件里面指定調用了。
這樣故事就全部被串起來了。
首先blazeds是個servlet,被封裝過后,能夠解析flash傳輸的amf格式。
通過spring的配置,flash的請求被轉移到了messagebroker = blazeds,同時這個messagebroker依賴了特定的bean,例如callHandler. 這些handler又依賴了service 的屬性,這個屬性就是我可以控制的,同時被flash調用的。
例如
what is web.xml :: listener
它能捕捉到服務器的啟動和停止! 在啟動和停止觸發里面的方法做相應的操作!
一定是httpServlet
http://zhidao.baidu.com/question/39980900
如何加載services-config.xml
MessageBrokerFactoryBean將會去尋找BlazeDS的配置文件(默認位置為/WEB-INF/flex/services-config.xml)
posted on 2010-06-17 09:33
張辰 閱讀(448)
評論(2) 編輯 收藏