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

正文內(nèi)容

基于jsp技術(shù)的davinfo論壇系統(tǒng)設(shè)計與實現(xiàn)(編輯修改稿)

2025-01-12 09:34 本頁面
 

【文章內(nèi)容簡介】 覽查找功能等。 (3)分析 并解決實現(xiàn)中的若干技術(shù)問題。 (4)建立完整的網(wǎng)上論壇,進(jìn)行測試并分析結(jié)果。 云南工商學(xué)院 3 第 2 章 相關(guān)技術(shù)分析 JSP 技術(shù)簡介 JSP(Java Server Page服務(wù)器網(wǎng)頁 )是從 1998年開始出現(xiàn)的新技術(shù)。由 Sun公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),是基于 JavaServlet 以及整個 Java 體系的 web 開發(fā)技術(shù)。在傳統(tǒng)的網(wǎng)頁 HTML 文件 (*.htm,*.html)中加入腳本片段和 JSP 標(biāo)記(Tag),構(gòu)成 JSP 網(wǎng)頁 (*.jsp)。 JSP 技術(shù)為創(chuàng)建顯示動態(tài)生成內(nèi)容的 web 頁面提供了簡便的方法。 JSP 作為 Java 家族的一員,承襲了 Java 的特點,即跨平臺的特性,也即一次編譯,到處運行。 在國外,己經(jīng)大量使用 JSP 作為網(wǎng)絡(luò)應(yīng)用程序的開發(fā)工具,而在國內(nèi),盡管 JSP 還不是主流開發(fā)技術(shù),但是由于 JSP 的強(qiáng)大優(yōu)勢,許多網(wǎng)站都已經(jīng)準(zhǔn)備轉(zhuǎn)向 JSP,利用 JSP來開發(fā)動態(tài)網(wǎng)站。 JSP 工作原理 JSP 是面向服務(wù)器的,因此支持任何瀏覽器。當(dāng) Web 服務(wù)器和 JSP 引擎遇到訪問 JSP網(wǎng)頁的請求時, JSP 引擎將請求對象發(fā)送給服務(wù)器端的相關(guān)組件,比如 JavaBean 組件、Servlet 或 EJB 等,然后由服務(wù)器端組件處理這些請示,可能需要從數(shù)據(jù)庫或數(shù)據(jù)存儲中檢索信息,然后服務(wù)器端組件再將響應(yīng)對象返回 JSP 引擎。 JSP 引擎將響應(yīng)對象傳遞給JSP 頁面,根據(jù) JSP 頁面的 HTML 格式完成數(shù)據(jù)編排,最后 Web 服務(wù)器和 JSP 引擎將格式化后的 JSP 頁面以 HTML 格式返回客戶瀏覽器。這就是當(dāng)前網(wǎng)站構(gòu)建中廣泛采用的瀏覽器 —— Web 服務(wù)器 —— 后臺數(shù)據(jù)庫的三層架構(gòu)模式。因為 JSP 所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果。 MVC 設(shè)計模式與 Struts 構(gòu)造 MVC 設(shè)計模式 在傳統(tǒng)的 WEB 應(yīng)用中基本都是將邏輯處理,數(shù)據(jù)處理和頁面顯示等大部分功能都放在 JSP 網(wǎng)頁上。經(jīng)驗比較豐富的開發(fā)者會將數(shù)據(jù)從表示層里分離出來,但通常不是很容易做到的,它需要精心地計劃和不斷的嘗試。 MVC 設(shè)計模式從根本上強(qiáng)制性地將他們分開 [4]。盡管構(gòu)造 MVC 應(yīng)用系統(tǒng)需要一些額外的工作,但是它給我們帶來的好處毋庸置疑。 MVC 把應(yīng)用程序分成了 3 個層次:模型,視圖和控制器,如圖 12 所示,它們分別扮演不同的角色,完成不同的任務(wù)。 云南工商學(xué)院 4 圖 21 MVC 各部分的關(guān)系和功能 Struts 框架技術(shù) Struts 框架就是基于 Model 2 的架構(gòu),也就是基于 MVC 模式的框架技術(shù) [5]。它是一個免費的開源的 WEB 層的應(yīng)用框架 ,具有很高的可配置性,和有一個不斷增長的特性列表。一個前端控制組件,一系列動作類,動作映射,處理 XML 的實用工具類,服務(wù)器端 java bean 的自動填充,支持驗證的 WEB 表單,國際化支持,生成 HTML,實現(xiàn)表現(xiàn)邏輯和模板組成了 struts 的靈魂。圖 32 顯示了 Struts 組件是如何一起工作的。 圖 22 Struts 框架的組件結(jié)構(gòu) 視圖( View)是用戶看到并與之交互的界面。在視圖中的 JSP 文件中沒有業(yè)務(wù)邏輯, 控制器 ActionServlet Browesr 視圖 JSP Tag libraries 模型 Action ActionForm s 模型層 封裝了對狀態(tài)查詢的回復(fù)信息 將變化通知視圖層 提供服務(wù)供視圖訪問 視圖層 對模型層進(jìn)行視圖上的顯示 模型層請求信息的更新 把用戶要求發(fā)送到控制層 允許控制層選擇視圖 控制層 定義了應(yīng)用的行為 將用戶的應(yīng)用映射到模型層 為一個或多個功能模塊選擇回復(fù)信息 狀態(tài)改變 用戶請求 視圖選擇 狀態(tài)查詢 信息改變 云南工商學(xué)院 5 也沒有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的 JSP 標(biāo)簽或是客戶化標(biāo)簽,如 Struts標(biāo)簽庫的標(biāo)簽。 模型( Model)是應(yīng)用程序的主體部分。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯。一個模型能為多個視圖提供數(shù)據(jù)。由于同一個模型可以被多個視圖重用,所以提高了應(yīng)用的可重用性。 控制器( Contorl)接受用戶的輸入并調(diào)用模型和視圖去完成用戶需求。在 Struts 中控 制 器 由 ActionServlet 類和 Action 類 來 實 現(xiàn) 。 ActionServlet 繼承了 類,它在 MVC 模型中扮演中央控制器的角色。 ActionServlet 主要互責(zé)接受 HTTP 請求信息,根據(jù)配置文件 的配置信息,把請求發(fā)給適當(dāng)?shù)?Action 對象,如果該 Action 不存在, ActionServlet 就會創(chuàng)建一個 Action 對象。 所有的頁面跳轉(zhuǎn)都集中在配置文件中,提高了程序的可讀性與可維護(hù)性。采用 Struts框架進(jìn)行 Web 開發(fā)的主要優(yōu)點包括: ( 1)頁面顯示與業(yè)務(wù)邏輯處理的分離,而不是將頁面顯示頁業(yè)務(wù)邏輯混合在一起,這樣可以提高系統(tǒng)的安全性,同時也提高了程序的靈活性和復(fù)用性。 ( 2)所有的頁面跳轉(zhuǎn)都集中在配置文件中,提高了程序的可讀性與維護(hù)性。 ( 3)易擴(kuò)展。該框架是多個相互獨立的部分所組成的,如 Action 類主要負(fù)責(zé)頁面數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)之間的轉(zhuǎn)化, Service 類主要負(fù)責(zé)業(yè)務(wù)邏輯運算, Form 類與 Model類則主要負(fù)責(zé)封裝各種數(shù) 據(jù)。同時,我們還能根據(jù)實際的需要定制各種組件,如數(shù)據(jù)庫的連接組件,各種圖形的生成等。 ( 4)開發(fā)效率高。使用該框架進(jìn)行開發(fā)可以使我們將主要的精力放在業(yè)務(wù)邏輯的開發(fā)上。 O/R 映射與 Hibernate 構(gòu)架 對象持久化,持久( Persistence)就是把數(shù)據(jù)保存到可永久保存得存儲介質(zhì)和設(shè)備中。而持久化的主要目的就是將內(nèi)存中的數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫或者磁盤文件和 XML數(shù)據(jù)文件中。 O/R 技術(shù),需要同時使用面向?qū)ο蠛完P(guān)系型數(shù)據(jù)進(jìn)行開發(fā)。 現(xiàn)在的 MVC 系統(tǒng)設(shè)計中, MVC 中的 M(即 Model),可以說是業(yè)務(wù)邏輯和數(shù)據(jù)邏輯關(guān)聯(lián)最為緊密地部分。而持久層作為 Model 層面中的主要組成,其設(shè)計優(yōu)劣對系統(tǒng)的整體表現(xiàn)產(chǎn)生至關(guān)重要的影響。由于絕大多數(shù)業(yè)務(wù)模型都涉及到關(guān)系數(shù)據(jù)庫,在采用Java 作為信息系統(tǒng)的開發(fā)語言時,傳統(tǒng) Web 應(yīng)用開發(fā)方法是直接用 JDBC 與數(shù)據(jù)庫交互,云南工商學(xué)院 6 但是這個工作量很大,而且一旦業(yè)務(wù)邏輯稍微有一些變更,就要大量地更改這些 JDBC中的 SQL 語句,因此不管是開發(fā)還是維護(hù)系統(tǒng)都很不方便??紤]到 Java 的面向?qū)ο笮院完P(guān)系型數(shù)據(jù)庫的關(guān)系型結(jié)構(gòu)相差甚遠(yuǎn),因此很有必要引入一種在對象性和關(guān)系型數(shù)據(jù)庫之間的直 接映射機(jī)制,這種映射應(yīng)該是最大量地使用配置文件,以便今后業(yè)務(wù)邏輯更改后是盡可能地修改映射文件而不是 Java 源代碼,因此出現(xiàn)了 O/R 映射模式 [6]。簡單地說,對象 — 關(guān)系映射就是 Java 應(yīng)用中的對象到關(guān)系數(shù)據(jù)中的表自動的和透明的持續(xù)化,使用元數(shù)據(jù)對象與數(shù)據(jù)庫中的表的映射進(jìn)行了描述。本質(zhì)上, ORM 的工作是將數(shù)據(jù)從一種表示(雙向)轉(zhuǎn)換為另一種表示。很多開源項目都使用 Java 實現(xiàn)了這個 O/R 映射。而 Hibernate 是其中最為優(yōu)秀的實現(xiàn)架構(gòu)之一。 Hibernate 框架 Hibernate 接口位于業(yè)務(wù)層和持久層。 Hibernate 核心接口的層次架構(gòu)如圖 33 所示 [7]: 圖 23 Hibernate 核心接口的層次架構(gòu)關(guān)系 Hibernate 的核心接口 Hibernate 的核心接口位于 包中, Hibernate 的核心接口類的關(guān)系圖如圖 34 所示,主要包括以下 6 個接口: Session 接口:負(fù)責(zé)執(zhí)行被持久化對象的 CRUD 操作。 SessionFactory 接口:初始化 Hibernate,充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session 對象。 Configuration 接口:負(fù)責(zé)配置并啟動 Hibernate,創(chuàng)建 SessionFactory 對象。 Transaction 接口:負(fù)責(zé)事務(wù)相關(guān)的操作。 Business Layer Lifecycle Validatable Persistent Classes Interceptor UserType Session Transaction Query SessionFactory Configuration JNDI JDBC Persistent Layer JTA 云南工商學(xué)院 7 Query 和 Criteria 接口:執(zhí)行各種數(shù)據(jù)庫查詢。 圖 24 Hibernate 的核心接口類的關(guān)系圖 對于 Hibernate 的使用主要是兩個配置文件。一個是 的配置文件和 O/R 映射的配置文件。 的配置文件主要是對數(shù)據(jù)庫連接和 Hibernate運行的主要屬性, O/R 映射的配置文件主要是表達(dá)出持久化類與數(shù)據(jù)庫表的映射關(guān)系。這樣對數(shù)據(jù)庫的操作就可以轉(zhuǎn)化為對持久化類的操作。其中持久化類和數(shù)據(jù)庫表之間的轉(zhuǎn)化由 Hibernate 來完成。 Hibernate 框架為我們做了很多的工作: ( 1)減少乏味的代碼: Hibernate 封裝了數(shù)據(jù)庫持久層的大多數(shù)技術(shù)細(xì)節(jié),如事務(wù)管理,數(shù)據(jù)庫連接管理, SQL 語句的生成。得益于這些優(yōu)秀的低層實現(xiàn),我們可以從 JDBC編碼中解脫出來,從而將我們的精力和創(chuàng)造力投入到真正有價值的工作中去。 ( 2)更加面向?qū)ο笤O(shè)計:現(xiàn)在的開發(fā)思想都是面向?qū)ο?,?jīng)過 Hibernate 的 O/R映射的配置文件就可以將數(shù)據(jù)庫表與持久層對象對應(yīng)起來,從而使得我們開發(fā)只要關(guān)心Object 的屬性不必在與表中的字段糾纏。使得面向?qū)ο蟮拈_發(fā)思 想伸展到系統(tǒng)的每個角落。 ( 3)更好的性能: Hibernate 提供了內(nèi)置的數(shù)據(jù)庫連接池支持等。這些優(yōu)化機(jī)制的綜合使用大大提升了系統(tǒng)性能。更重要的是,這些機(jī)制都是全透明的,我們無需關(guān)心其中的復(fù)雜的實現(xiàn)細(xì)節(jié)就可以享用其所帶來的性能提升。 ( 4)更好的移植性: Hibernate 對不同的數(shù)據(jù)庫良好支持,我們只要簡單修改 的配置文件,就可以實現(xiàn)低層數(shù)據(jù)庫的切換。 開發(fā)平臺 從多方面的因素考慮選用開發(fā)平臺如下表 21 所示: Configuration SessioinFactory Session Query Criteria Transaction 云南工商學(xué)院 8 表 21 搭建開發(fā)環(huán)境軟件清單 用途 軟件 Java 虛擬機(jī) Web 應(yīng)用服務(wù)器 Tomcat6 集成開發(fā)平臺工具 MyEclipse 數(shù)據(jù)庫服務(wù)器 Mysql MVC 開源框架 Struts 2 ORM 框架 Hibernate MYSQL 數(shù)據(jù)庫 Mysql 是由 Microsoft 開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)( DBMS) ,它最初是由Microsoft、 Sybase 和 AshtonTate 三家公司共同開發(fā)的,并于 1988 年推出了第一個 OS/2版本。 Mysql 近年來不斷更新版本, 1996 年, Microsoft 推出了 版本; 1998年, Mysql 發(fā) 版本和用戶見面; Mysql 是 Microsoft 公司于 2021 年推出的最新版本。 Mysql特點: 1.真正的客戶機(jī) /服務(wù)器體系結(jié)構(gòu)。 2.圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。 3.豐富的編程接口工具,為用戶進(jìn)行程序設(shè)計提供了更大的選擇余地。 4. Mysql 與 Windows NT 完全集成,利用了 NT 的許多功能,如發(fā)送和接受消息,管理登錄安全性等。 Mysql 也可以很好地與 Microsoft BackOffice 產(chǎn)品集成。 5.具有很好 的伸縮性,可跨越從運行 Windows 95/98 的膝上型電腦到運行 Windows 2021的大型多處理器等多種平臺使用。 6.對 Web 技術(shù)的支持,使用戶能夠很容易地將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到 Web 頁面上。 7. Mysql 提供數(shù)據(jù)倉庫功能,這個功能只在
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1