freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mvc模式的crm框架的研究與改進(jìn)畢業(yè)論文-文庫(kù)吧

2025-06-12 18:18 本頁(yè)面


【正文】 器除了實(shí)現(xiàn)了HttpServlet接口外,還實(shí)現(xiàn)了其它的鉤子接口,這也是框架可擴(kuò)展性的體現(xiàn)??刂破鱯ervlet主要的三個(gè)生命周期方法init、service、destroy。在init方法中解析一個(gè)xml文件得到視圖與模型之間的映射關(guān)系,并提供全局的HashMap類型的變量保存這些映射關(guān)系提供多線程使用。當(dāng)用戶請(qǐng)求URL被service方法接收到,首先解析整個(gè)URL得到要處理的action名稱,根據(jù)名稱反射生成action類的實(shí)例并調(diào)用相關(guān)的方法處理請(qǐng)求,servlet提供全局的HashMap類型的變量緩存這些action實(shí)例,這樣做的好處是當(dāng)服務(wù)器配置支持多線程時(shí),第一個(gè)用戶請(qǐng)求了這個(gè)action后其它用戶可以直接到HashMap類型的實(shí)例緩存中查找并使用這個(gè)實(shí)例。詳細(xì)論述如下:1. 控制器初始化重慶郵電大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 第43頁(yè)/共43頁(yè) 控制器類的初始化包括整個(gè)匡架的共享數(shù)據(jù)初始化、鉤子類的初始化,這些類都是通過(guò)配置文件配置,然后解析XML文件得到配置信息,再通過(guò)反射機(jī)制生成這些類的實(shí)例。所有這個(gè)框架的很多資源都是可配置的。例如,容器解析初始化參數(shù)并傳遞給控制器servlet的初始化方法。具體的處理流程如左圖所示。2. 控制器的service方法 service方法是整個(gè)框架核心的方法,客戶端瀏覽器發(fā)出請(qǐng)求,Tomcat容器將請(qǐng)求參數(shù)封裝成HttpRequest對(duì)象,并創(chuàng)建HttpResponse對(duì)象,將這兩個(gè)對(duì)象傳遞到service方法,service方法中讀取HttpRequest對(duì)象中封裝的請(qǐng)求信息,從請(qǐng)求URL中讀取出處理請(qǐng)求的action名稱,再反射生成action實(shí)例,調(diào)用action中的哪一個(gè)方法處理請(qǐng)求是由請(qǐng)求URL中的mand參數(shù)值決定的。其中在數(shù)據(jù)傳遞過(guò)程中,框架的數(shù)據(jù)綁定機(jī)制是非常重要的,,而本框架是根據(jù)URL中傳遞的autopopulate參數(shù)值決定是否綁定參數(shù)的,這樣做了使系統(tǒng)的與框架之間的耦合性降低,系統(tǒng)可移植性得到提高。最終action的方法執(zhí)行返回常量字符串,調(diào)用forward方法跳轉(zhuǎn)到視圖。具體流程如圖所示:3. 安全校驗(yàn) 安全校驗(yàn)是框架的重要的一個(gè)方面,它保證了框架的安全性。安全性校驗(yàn)是在控制器類的service方法中進(jìn)行的,它主要包括SSL安全驗(yàn)證、驗(yàn)證用戶會(huì)話的有效性、將用戶信息存放到session中,重點(diǎn)在于創(chuàng)建共享數(shù)據(jù)區(qū)SystemStatus對(duì)象,這個(gè)對(duì)象是一個(gè)框架本身提供的一個(gè)共享數(shù)據(jù)區(qū),它存放所有用戶共享數(shù)據(jù),這個(gè)在論文后面框架改進(jìn)的集群(緩存同步)部分得到體現(xiàn)。流程圖如下圖所示:4. 創(chuàng)建SystemStatus對(duì)象流程圖如下圖所示:(1). 獲取所有用戶數(shù)據(jù)(Hashtable類型)(2). 獲取系統(tǒng)參數(shù)數(shù)據(jù)(Site Preferences) (LinkedHashMap類型)(3). 配置工作流管理器參數(shù)(4). 獲取全局權(quán)限數(shù)據(jù)(Role permission cache)(5). 獲取WebdavResources數(shù)據(jù) 5. 參數(shù)自動(dòng)綁定參數(shù)綁定是整個(gè)框架中的重點(diǎn),它是框架中數(shù)據(jù)從視圖層傳遞到模型層的關(guān)鍵所在。參數(shù)是否自動(dòng)綁定是由請(qǐng)求URL中參數(shù)autopopulate參數(shù)值決定,只要參數(shù)值為true,則會(huì)將請(qǐng)求對(duì)象HttpRequest中的參數(shù)信息綁定到相匹配的JavaBean中,再將JavaBean傳遞到模型層進(jìn)行業(yè)務(wù)邏輯處理。 ,原理是:(1). 從requset區(qū)域中獲得所有的參數(shù);(2). 反射創(chuàng)建配置文件()中定義的JavaBean;(3). 循環(huán)參數(shù),根據(jù)參數(shù)的名字,調(diào)用JavaBean中的“set+參數(shù)名字”方法,將參數(shù)值寫入JavaBean中;(4). 將JavaBean存放到requset區(qū)域中;6. 控制器forward方法forward方法根據(jù)action執(zhí)行結(jié)果進(jìn)行跳轉(zhuǎn),目前框架使用jsp模板實(shí)現(xiàn)視圖,框架也支持xsl模板。這個(gè)方法重點(diǎn)在于形成菜單的過(guò)程,包括主菜單、子菜單,然后把菜單信息封裝在JavaBean中傳遞到前臺(tái)的jsp模板中構(gòu)建視圖。這里的菜單是比較特別的,它是通過(guò)xml文件配置的,配置中包括主菜單、子菜單的層次結(jié)構(gòu)、名稱、鏈接、菜單權(quán)限以及格式css文件,通過(guò)解析配置文件得這些信息并封裝在JavaBean中,傳遞給jsp模板。其實(shí)這樣做的好處是菜單非常的靈活,通過(guò)xml文件配置主菜單、子菜單,而不用修改代碼即可增加一個(gè)模塊。在流程圖如下圖所示:二、 共享數(shù)據(jù)區(qū)共享數(shù)據(jù)區(qū)是這個(gè)框架比交重要的一個(gè)點(diǎn),也是我在研究過(guò)程中遇到問(wèn)題最多的一個(gè)地方,當(dāng)然最終還是理解了。在Bosent CRM系統(tǒng)中共享數(shù)據(jù)區(qū)是用來(lái)存放系統(tǒng)共用的數(shù)據(jù),一般在系統(tǒng)啟動(dòng)過(guò)程中構(gòu)建,用于存放系統(tǒng)級(jí)數(shù)據(jù),或者用戶共享的數(shù)據(jù)。共享數(shù)據(jù)區(qū)的層次關(guān)系如下圖所示:架構(gòu)內(nèi)置的共享數(shù)據(jù)區(qū)一共有三種:1) SystemStatus:虛擬主機(jī)(Virtual Host)共享數(shù)據(jù)區(qū)。、。以及系統(tǒng)共享的“緩存的用戶數(shù)據(jù)”、 “Lookup Lists對(duì)象”和“workflow”對(duì)象等。2) ServletContext:存放全局共享對(duì)象,例如ApplicationPrefs對(duì)象、ImportManager對(duì)象、Crontab、Scheduler等。3) ApplicationPrefs:上下文共享數(shù)據(jù)區(qū),存放全局共享對(duì)象的參數(shù)。需要特別注意:ApplicationPrefs存放的是存放在Servlet Context中對(duì)象的參數(shù),而不是對(duì)象本身,這點(diǎn)很重要。()中讀取參數(shù)。特別注意:。三、 配置文件1. 配置文件類型架構(gòu)內(nèi)置的共享數(shù)據(jù)區(qū)其數(shù)據(jù)主要來(lái)源于各種配置文件,將其分為三類:1) 框架級(jí)配置文件,,;2) 安裝配置文件,此文件在安裝過(guò)程中形成;此參數(shù)主要存放在ApplicationPrefs對(duì)象中,是非常重要的數(shù)據(jù)對(duì)象;3) 應(yīng)用系統(tǒng)配置文件:用于配置應(yīng)用系統(tǒng)模塊,例如action、菜單等。2. 配置文件參數(shù)1. 框架級(jí)配置文件 ,它與容器交互。該配置文件配置了action、jsp視圖和表單Bean三者之間的關(guān)系。通過(guò)該配置文件控制器就可以按照規(guī)則來(lái)調(diào)用Bean綁定請(qǐng)求參數(shù)并調(diào)用相關(guān)的action處理請(qǐng)求,最終返回相應(yīng)的JSP視圖。這個(gè)配置文件在整個(gè)MVC框架中起到核心作用,控制整個(gè)流程。2. 安裝配置文件 ,此配置文件位于安裝路徑下(例如:C:\BosentCRM),主要存放用戶配置系統(tǒng)的一些參數(shù). 3. 資源文件存放系統(tǒng)共用的數(shù)據(jù)字典數(shù)據(jù)。語(yǔ)言資源文件位于web應(yīng)用的\WEBINF\languages目錄中,不同語(yǔ)種資源文件是一個(gè)由dictionary ,例如:,具體位置如下圖所示:資源文件主要內(nèi)容包括下面四個(gè)組成部分:1) 標(biāo)識(shí)字符串標(biāo)志2) 菜單字符串標(biāo)志3) 子菜單字符串標(biāo)志4) 模板字符串標(biāo)志4. 在安裝過(guò)程中,即fileLibrary/[database name]/。此文件包含安裝時(shí)的配置數(shù)據(jù),標(biāo)簽庫(kù)和模塊能訪問(wèn)這些數(shù)據(jù)。例如開發(fā)一個(gè)action能訪問(wèn)第三方的數(shù)據(jù)庫(kù),那么可以把數(shù)據(jù)庫(kù)連接信息存放在此文件中,而不用在action類中寫死。 5. 應(yīng)用系統(tǒng)配置文件1. 此配置文件用于確定主菜單和子菜單的顯示順序,以及每個(gè)菜單項(xiàng)的權(quán)限。 Action以URL的形式映射到菜單項(xiàng)。其他的參數(shù)用來(lái)定義顯示在菜單項(xiàng)上的文字、定義權(quán)限標(biāo)識(shí)以及顯示在HTML頁(yè)面的標(biāo)題。例如下面的配置信息:第二節(jié) 模型 模型(Action)表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如它可能用象EJBs和ColdFusion Components這樣的構(gòu)件對(duì)象來(lái)處理數(shù)據(jù)庫(kù)。被模型返回的數(shù)據(jù)是中立的,就是說(shuō)模型與數(shù)據(jù)格式無(wú)關(guān),這樣一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù)。由于應(yīng)用于模型的代碼只需寫一次就可以被多個(gè)視圖重用,所以減少了代碼的重復(fù)性。一、 基類在Bosent CRM框架中,其實(shí)也就是說(shuō)基類CFSModule中定義了Action的公共功能,此類包含的比較重要的方法有:1) freeConnection方法要對(duì)整個(gè)action中的異常捕獲,以釋放資源,如數(shù)據(jù)庫(kù)連接的釋放。調(diào)用基類的方法。2) 執(zhí)行Action缺省動(dòng)作的executeCommandDefault方法;3) 獲取SystemStatus共享數(shù)據(jù)的getSystemStatus(ActionContext context)方法;4) 獲取當(dāng)前用戶的getUser方法;5) 獲取用戶列表的getUserTable方法;二、 映射特性 如果在Action中定義了多個(gè)處理業(yè)務(wù)邏輯的方法,就必須處理好映射特性:一般的,struts Web框架中的action只有一個(gè)固定服務(wù)方法(execute),而Bosent CRM的Action是一個(gè)多方法的action。通過(guò)在URL中定義方法,讓控制器識(shí)別,并調(diào)用Action中對(duì)應(yīng)的方法。 之所以如此設(shè)計(jì),是為減少action類的數(shù)量,選擇了在請(qǐng)求中映射方法的策略,各個(gè)資源在action中是一個(gè)方法的多個(gè)程序分支的返回,也可以是action的不同方法的返回。即:通過(guò)URL中的“mand”參數(shù),可以將一個(gè)控制器中定義的方法映射到命令中。三、 數(shù)據(jù)傳遞機(jī)制數(shù)據(jù)傳遞機(jī)制是框架的核心,無(wú)論是什么框架都必須思考的問(wèn)題。通過(guò)配置文件,配置頁(yè)面中的JavaBean數(shù)據(jù)(例如input標(biāo)簽定義的數(shù)據(jù))和控制器之間的映射關(guān)系。: action name=Login class=bean name=LoginBean class= scope=request /forward name=LoginOK resource=/?mand=Home / forward name=LicenseError resource=/errors/ layout=bosent //action上述配置文件將名稱是“user”的UserBean類和名稱是login的action相關(guān)聯(lián)。特別注意的是:如果在URL中設(shè)置了“autopopulate=true”,則將實(shí)現(xiàn)參數(shù)自動(dòng)綁定功能。例如下面的代碼:form name=login method=POST action=?mand=Loginamp。autopopulate=true 將頁(yè)面中的用戶名和密碼
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1