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

正文內(nèi)容

j2ee的ssh框架的搭建和性能優(yōu)化本科畢業(yè)論文(編輯修改稿)

2025-07-16 14:13 本頁面
 

【文章內(nèi)容簡介】 儲源的代理,并負責創(chuàng)建Session 對象。這里用到了工廠模式。需要注意的是 SessionFactory 并不是輕量級的,因為一般情況下,一個項目通常只需要一個 SessionFactory 就夠,當需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個 SessionFactory。 接口 Configuration 接口負責配置并啟動 Hibernate,創(chuàng)建 SessionFactory 對象。在 Hibernate的啟動的過程中,Configuration 類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 9 建 SessionFactory 對象。 接口 Transaction 接口 負責事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計編寫自己的底層事務(wù)處理代碼。 和 Criteria 接口 Query 和 Criteria 接口負責執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用 HQL 語言或 SQL 語句兩種表達方式。 SSH 整合框架SSH 在 J2EE 項目中表示了 3 種框架。那么怎 樣將三者結(jié)合起來形成一個框架呢? 集成 SSH 框架集成 SSH 框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層。其中使用 Struts 作為系 統(tǒng)的整體基礎(chǔ)架構(gòu),負責 MVC 的分離,在 Struts 框架的模型部分,利用 Hibernate 框架對持久層提供支持, 業(yè)務(wù)層用 Spring 支持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實現(xiàn)為基本的 Java 對象,然后編寫基本的 DAO 接口,并 給出 Hibernate 的 DAO 實現(xiàn),采用 Hibernate 架構(gòu)實現(xiàn)的 DAO 類來實現(xiàn) Java 類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由 Spring 完成業(yè)務(wù)邏輯。   系統(tǒng)的基本業(yè)務(wù)流程是: 在表示層中,首先通過 JSP 頁面實現(xiàn)交互界面,負責傳送請求(Request)和接收響 應(yīng)(Response) ,然后 Struts 根據(jù)配置文件()將 ActionServlet 接收到的 Request 委派給相應(yīng)的 Action 處理。在業(yè)務(wù)層中,管理服務(wù)組件的 Spring IoC 容器負責向 Action 提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO) 組件完成 業(yè)務(wù)邏輯,并提供事 務(wù)處 理、緩沖池等容器組件以提升系統(tǒng)保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 10 性能和保證數(shù)據(jù)的完整性。而在持久層中, 則依賴于 Hibernate 的對象化映射和數(shù)據(jù)庫交互,處理 DAO 組件請 求的數(shù)據(jù),并返回處理結(jié)果?! 〔捎蒙鲜鲩_發(fā)模型,不僅實現(xiàn)了視圖、控制器與模型的徹底分離,而且 還實現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復用性。而且由于不同層之間耦合度小,有利于團隊成員并行工作,大大提高了開發(fā)效率。4. 基于 SSH 框架的 Web 應(yīng)用系統(tǒng)的實現(xiàn)  下面將通過一個實際的系統(tǒng)來展示如何進行基于 SSH 框架的 Web 應(yīng)用開發(fā)。該系統(tǒng)是為某通信公司運營部開發(fā)的一個問答式系統(tǒng),功能類似于百度知道和新浪愛問。由于系統(tǒng)的模塊較多,下面就以一個用戶管理模塊為例來說明系統(tǒng)的開發(fā)實現(xiàn)過程,并將按照數(shù)據(jù)持久層、業(yè)務(wù)邏輯層、表示層的順 序說明系統(tǒng)構(gòu)建過程。 數(shù)據(jù)持久層  數(shù)據(jù)持久層由 Java 對 象持久化類和數(shù)據(jù)訪問對象(DAO) 組成。每個數(shù)據(jù)庫表都對應(yīng)著一個持久化對象,這樣就給予了開發(fā)者使用 OO 思想設(shè)計和開發(fā)的便利,同時也屏蔽了具體的數(shù)據(jù)庫和具體的數(shù)據(jù)表、字段,消除了對數(shù)據(jù)庫操作的硬編碼在重用性上的弊端。用戶信息表的部分結(jié)構(gòu)如表 1 所   Hibernate 通過映射(Mapping)文件將對象(Object) 與關(guān)系型數(shù)據(jù)(Relational) 相關(guān)聯(lián),因此需要編寫和數(shù)據(jù)庫表相對應(yīng)的 Java 持久化類以及 對應(yīng)的映射文件。有了 Java 持久化類后就可以在此基礎(chǔ)上實現(xiàn)數(shù)據(jù)訪問類。在 Spring 框架中,數(shù)據(jù)訪問類可以從輔保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 11 助類 HibernateDaoSupport 繼承, 這極大地方便了 Hibernate 框架在 Spring 中的使用,相應(yīng)的部分代碼如下: public class UserDao extends HibernateDaoSupport { public int add(User user) { return (().save(user).toString())。 } public List findAll() { return ().loadAll()。 } } 具體的 Hibernate 數(shù)據(jù)源、session 工廠、事 務(wù)管理、 緩沖連接池等功能都由業(yè)務(wù)層的Spring 容器提供?! ?業(yè)務(wù)邏輯層  業(yè)務(wù)邏輯層由 Spring 框架支持,提供了處理業(yè)務(wù)邏輯的服務(wù)組件。開發(fā)者需要對業(yè)務(wù)對象建模,抽象出業(yè)務(wù)模型并封裝在 Model 組件中。由于數(shù)據(jù)持久層實現(xiàn)了 Java持久化類并且封裝了數(shù)據(jù)訪問對象(DAO),因此可以在 Model 組件中方便地調(diào)用DAO 組件來存取數(shù)據(jù)。Spring 的 IoC 容器負責統(tǒng)一管理 Model 組件和 DAO 組件以及 Spring 所提供的事務(wù)處理、 緩沖連接池等服務(wù)組 件?! ≡谟脩艄芾砟K中,通過業(yè)務(wù)建模創(chuàng)建了用戶模型 UserService 類,封裝了對用戶的權(quán)限管理以及積分管理等功能。UserService 類通過調(diào)用數(shù)據(jù)訪問類 UserDao 實現(xiàn)對用戶數(shù)據(jù)的操作。這些組件的關(guān)系將通過配置 Spring 框架的 聯(lián)系起來,配置文件的主要內(nèi)容如下: beans xmlns=xmlns:xsi=xmlns:context=xmlns:aop=保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 12 xmlns:tx=xsi:schemaLocation= bean id=dataSourceclass= destroymethod=closeproperty name=driverClassNamevalue=/propertyproperty name=urlvalue=jdbc:/propertyproperty name=username value=root/propertyproperty name=password value=root/property/beanbean id=sessionFactoryclass=property name=dataSource ref=dataSource /property name=namingStrategy ref=namingStrategy /property name=annotatedClassesLocationslist! 行政區(qū)域?qū)嶓w類 value/value value/uniwin/model/*.class/value/list/propertyproperty name=excludedClassesRegexPatternslistvalue![CDATA[^[\w\.]+Test[\w]+$]]/value/list/propertyproperty name=hibernatePropertiespropsprop key=${}/propprop key=/propprop key=true/propprop key=${}/propprop key=${}/prop/props/property保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 13 /beanbean id=namingStrategy class= //beans 表示層 表示層結(jié)合 JSP 和 Struts 的 TagLib 庫處理顯示功能,利用 ActionServlet 將請求(*.do)映射到相 應(yīng)的 Action,并由 Action 調(diào)用業(yè)務(wù)邏輯的服務(wù)組件,然后根據(jù)處理結(jié)果跳轉(zhuǎn)到 Forword 對象指定的響應(yīng)頁面。 業(yè)務(wù)流程的部署由 完成。下面以一個顯示所有用戶信息的請求()為例來說明配置文件的使用。 基于 J2EE 的 Web 應(yīng)用以其層次性、平臺無關(guān)性的優(yōu)勢已經(jīng)逐漸成為了電子商務(wù)、電子政務(wù)主要的解決方案。本文針對傳統(tǒng)的 J2EE Web 應(yīng)用開發(fā)的弊端,介紹了一種利用輕量級框架來快速搭建 Web 應(yīng)用的解決方案,并且通過其在實際項目中的應(yīng)用,證明了采用此方案可以幫助開發(fā)人員在短時間內(nèi)建立結(jié)構(gòu)清晰、可重用性好、維護擴展方便的 Web 應(yīng)用程序。 5 SSH 性能的優(yōu)化 Struts 優(yōu)化 logging 和開發(fā)模式關(guān)閉 logging 和開發(fā)模式(devMode), devMode 是在 中設(shè)置的, 關(guān)閉logging 需要修改 文件,加入以下參數(shù) 保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 14 servletinitparamparamnamedebug/paramnameparamvalue0/paramvalue/initparaminitparamparamnamedetail/paramnameparamvalue0/paramvalue/initparam/servlet. 攔截器除非需要,否則不要使用攔截器(interceptor). 如果一個 Action 不需要全棧的攔截器的話,就使用 basicStack 攔截器或移除不需要的攔截器。 正確設(shè)置頁面的 CacheControl 和 Expires 使用正確的 HTTP 頭(緩存控制和過期時間) 當返回一個 html 頁面的時候,要保 證 html 頁面包含正確的 header,使得瀏覽器可以知道怎樣緩存該 html 頁面。 . Ajax theme(Dojo)或者 Calendar 標簽 struts2 提供的 Ajax theme(Dojo)或者 Calendar 標簽 默認情況下保存在 包里面, 把這些 js 文件或者 css 文件拷出來放到另外一個服務(wù)器上可以提高性能。 當使用 AJAX theme(Dojo)或日歷 tag 時,從 Struts2 的 jar 包復制靜態(tài)內(nèi)容到 服務(wù)器。 因為 服務(wù)器會對這些靜態(tài)文件的請求進行優(yōu)化. freemark 載入模板保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文) 15 如果使用 freemarker 的話,在 WEBINF 下的 classes 文件夾下創(chuàng)建一個 并且加入template_update_delay=60000, 這個值是 freemarker 多久從硬盤重新載入模板,默認情況下是 500ms, 因為沒有必要檢查是不是需要重新載入模板文件,所以最好把它設(shè)置為一個很大的數(shù)字。 模板緩存啟用 Freemarker 模板緩存, 這是 為 true, 默認情況下這個是 false 的。. 模板路徑當覆蓋一個 theme 時,copy 所有重要的模板到 theme 目錄 當 template 在當前目 錄不能發(fā)現(xiàn)時,會有性能開 銷 。因 為在返回父模板前,struts2 必須在當前目錄進行 theme 檢查. 晚先時候,這個缺陷將要通過一個 template 緩存解決。 . session在你需要的時候才創(chuàng)建 session 除非需要,Struts2 不會創(chuàng)建 sessions(比如,在你的攔截器 stack 中有 createSession 攔截器)。注意當使用 SiteMesh 時, 一個 session 將總是被創(chuàng)建(看看 /?messageID=5688 的描述). 當使用 FreeMarker 時,盡量使用等價的 FreeMarker 元素,代替 JSP 的標簽。 Freemarker 支持 list 迭代 , 顯示屬性,包含其他模版 , macro39。s FreeMarker 元素代替 struts2 的 tags 會有小的性能提升。 (例如:s:property value=foo/將要被 ${foo}代替).1 ,freemarker 升級為 保定電力職業(yè)技術(shù)學院頂崗實習技術(shù)應(yīng)用(論文)
點擊復制文檔內(nèi)容
化學相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1