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

正文內(nèi)容

java利用ssh技術(shù)在電子商務(wù)庫存管理中的應(yīng)用(doc畢業(yè)設(shè)計(jì)論文)(編輯修改稿)

2025-07-25 08:10 本頁面
 

【文章內(nèi)容簡介】 tionBean 組成。ActionServlet 可以接收客戶端提交的請求,然后根據(jù)配置文件中的信息調(diào)用相應(yīng)的邏輯處理 ActionBean 完成用戶請求的處理;模型層主要采用 JavaBean 來實(shí)現(xiàn),其中封裝一些具體的業(yè)務(wù)處理功能,供邏輯處理 ActionBean 在進(jìn)行邏輯處理時(shí)調(diào)用。Struts 處理結(jié)構(gòu)圖如 22 所示:天津工業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文)7C o n t r o l l e rA c t i o n S e r v l e tS t r u t s c o n f i g . x m lM o d e lJ a v a B e a nB u s i n e s s L o g i nA c t i o nV i e wJ S PC l i e n tI E o r F i r e f o xA c t i o n F o r mHTTP Request THHP Request圖 22 Struts 處理結(jié)構(gòu)圖 框架的體系結(jié)構(gòu) 框架是一個(gè)優(yōu)秀的 MVC 框架,它的主要組件包括ActionServlet、Struts TagLib、ActionBean、ActionForm 和 ActionMapping 等,下面對他們分別進(jìn)行詳細(xì)的介紹。(1)ActionServletActionServlet 繼承自 HttpServlet 類,其在 Struts Framework 中扮演的角色是全局控制器。控制器 ActionServlet 主要負(fù)責(zé)將 HTTP 的客戶請求信息組裝后,根據(jù)配置文件的指定描述,轉(zhuǎn)發(fā)到適當(dāng)?shù)臉I(yè)務(wù)處理器即 ActionBean。在 中新增了 類,將處理請求的功能從控制器功能中分離。按照 Servlet 的標(biāo)準(zhǔn),所有的 Servlet必須在 web 配置文件 聲明。同樣 ActoinServlet 也必須在 Web 配置文件 中配置。當(dāng)用戶向服務(wù)器端提交請求的時(shí)候,實(shí)際上信息是首先發(fā)送到全局控制器 ActionServlet,一旦全局控制器獲得了請求,其就會將請求信息傳交給一些輔助類處理。這些輔助類知道如何去處理與請求信息所對應(yīng)的業(yè)務(wù)操作。在 Struts 中,這些輔助類就是 類及其子類。所以開發(fā)者通常需要繼承 Aciton 類,并實(shí)現(xiàn)自己的 Action 實(shí)例,即業(yè)務(wù)邏輯ActionBean。(2)Struts TagLibStruts 提供了一組可擴(kuò)展的自定義標(biāo)簽庫 TagLib,可以簡化創(chuàng)建用戶界面的過程。目前 Struts TigLib 主要包括 Bean Tags,HTML Tags、Logic Tags、Nested Tags 和 Template Tags 這幾個(gè) TagLib。(3)ActionBeanActionBean 類扮演的角色,就像用戶請求和業(yè)務(wù)邏輯處理之間的一個(gè)適配器(Adaptor) ,其功能就是將請求與業(yè)務(wù)邏輯分開。這樣的分離使得用戶請求和 Action 類之間可以有多個(gè)點(diǎn)對點(diǎn)的映射。而且 Action 類通常還提供了其它的輔助功能,例如日志(logging)和數(shù)據(jù)驗(yàn)證(validation) 。Action 最為常用的是execute()方法,開發(fā)者只要繼承 Action 類就必須重寫該方法并返回一個(gè)ActionMapping 實(shí)例即可。當(dāng)全局 Controller 收到用戶請求的時(shí)候,就會將請求轉(zhuǎn)移到一個(gè) Action 實(shí)例,如果這個(gè)實(shí)例不存在,控制器會首先創(chuàng)建,然后會調(diào)用這個(gè) Action 實(shí)例的 execute()方法。Struts Framework 為應(yīng)用系統(tǒng)中的每天津工業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文)8一個(gè) Action 類只創(chuàng)建一個(gè)實(shí)例,所以 Action 類不是線程安全的。所有的用戶都會共享這一個(gè)實(shí)例,所以你必須確定你的 Action 類運(yùn)行在一個(gè)多線程的環(huán)境中。(4)ActionFormActionForm 的主要功能就是為 ActionBean 的操作提供與用戶表單相映射的數(shù)據(jù)(如果在用戶指定的情況下,還包括對數(shù)據(jù)進(jìn)行校驗(yàn)) 。ActionForm 負(fù)責(zé)對系統(tǒng)數(shù)據(jù)狀態(tài)的保持,而 ActionBean 則負(fù)責(zé)根據(jù)業(yè)務(wù)邏輯的需要對數(shù)據(jù)狀態(tài)進(jìn)行修改,在改變系統(tǒng)狀態(tài)后,ActionForm 則自動的回寫新的數(shù)據(jù)狀態(tài)并保持。(5)ActionMapping上面講到了一個(gè)客戶請求是如何被控制器轉(zhuǎn)發(fā)和處理的,在 Struts 中,這些配置映射信息是存儲在特定的 XML 文件(比如 ) 。 這些配置信息在系統(tǒng)啟動的時(shí)候被加載入內(nèi)存,供 Struts Framework 在運(yùn)行期間使用。在內(nèi)存中,每一個(gè) Action 元素都會與 類的一個(gè)實(shí)例對應(yīng),這些ActionMapping 實(shí)例將會根據(jù)具體的用戶請求和實(shí)際的配置返回不同的視圖??偟膩碚f Struts Framework 體現(xiàn)結(jié)構(gòu)的工作機(jī)制如圖 23 所示:圖 23 Struts 體現(xiàn)結(jié)構(gòu)的工作機(jī)制圖 Hibernate 框架 ORM 技術(shù)的概述幾乎所有的 J2EE 應(yīng)用程序都需要訪問持久化的數(shù)據(jù),而關(guān)系型數(shù)據(jù)庫是最常用的數(shù)據(jù)持久化方案。面向?qū)ο蟮膽?yīng)用程序和面向關(guān)系的數(shù)據(jù)庫操作之間存在著巨大的差異,因此存在著各種方式來訪問和操作關(guān)系型數(shù)據(jù)庫。一種是直接使用 SQL 語句,并解析返回的結(jié)果集,這種稱為“事務(wù)腳本” ,這種方式特別適合集合查詢和批量更新。因?yàn)殛P(guān)系型數(shù)據(jù)庫能夠非常高效的處理這類操作;另一類應(yīng)用程序的查詢需求比較簡單,通常只需取出很少的幾行數(shù)據(jù)(通常是從一個(gè)表),并對這些數(shù)據(jù)進(jìn)行選擇性的更新,很少需要批量更新。這些數(shù)據(jù)通??梢杂成涞匠志没?Java 對象,后者就組成了領(lǐng)域模型(Domain Model),因此業(yè)務(wù)邏輯可天津工業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文)9以表現(xiàn)為這些對象之間的交互,而不是直接操作數(shù)據(jù)庫中的表和字段。這種策略一般稱為 Object/Relational Mapping(對象關(guān)系映射) 。復(fù)雜的 ORM 實(shí)現(xiàn)能夠自動偵測所取出對象的修改,并在事務(wù)提交的時(shí)候自動將修改后的狀態(tài)持久化到數(shù)據(jù)庫。通過這種完全“透明”的持久化,在業(yè)務(wù)邏輯中根本不需要顯式的調(diào)用類似于“更新到數(shù)據(jù)庫”的操作。為了達(dá)到這一效果,ORM 框架必須維護(hù)一個(gè)列表,記錄那些被修改過的對象,這樣當(dāng)事務(wù)提交時(shí),就可以只把這些對象寫回到數(shù)據(jù)庫。同時(shí)還需要維護(hù)每個(gè)對象的身份,避免對象被重復(fù)加載。Java 平臺上最基本的數(shù)據(jù)訪問方式是使用 JDBC,這能夠以很高的性能和最靈活的方式來執(zhí)行基于數(shù)據(jù)集的操作,充分利用數(shù)據(jù)庫的專有特性或存儲過程,但是其缺點(diǎn)是 JDBC API 過于復(fù)雜,直接使用相當(dāng)麻煩,必須使用大量容易出錯(cuò)的 try/catch/finally 代碼塊來確保資源和異常得到很好的處理。ORM 技術(shù)是在 JDBC 之上又提供了一層抽象,使得程序開發(fā)人員可以以面對對象的方式操作持久化對象,而 ORM 則負(fù)責(zé)轉(zhuǎn)換成對應(yīng)的 SQL 操作。大大減少了編寫 SQL 語句出錯(cuò)的概率和縮短了軟件的開發(fā)周期。ORM 技術(shù)的發(fā)展,衍生了許多基于該技術(shù)的 ORM 框架。其中 Hibernate 框架就是一個(gè)基于該技術(shù)的 ORM 框架。Hibernate 框架的出現(xiàn)使得 J2EE 的開發(fā)更為簡單。 Hibernate 框架的概述從八十年代開始,就有很多公司和研究機(jī)構(gòu)在進(jìn)行著面向?qū)ο笈c數(shù)據(jù)庫結(jié)合的研究。很多應(yīng)用還是采用簡單的 JDBC 來訪問數(shù)據(jù)庫??墒?JDBC 也有很多局限性,比如調(diào)用復(fù)雜,容易產(chǎn)生資源泄漏等,與面向?qū)ο蟮?Java 語言有一段距離,所以很多開發(fā)小組開始思考如何將應(yīng)用中的數(shù)據(jù)進(jìn)行對象化建模,然后再想辦法與 JDBC 結(jié)合起來,Hibernate 框架就是在這種情況下開發(fā)出來的。Hibernate 框架是一個(gè)高性能、開放源碼的持久框架,是 ORM 技術(shù)的完美解決方案。它不僅提供了基礎(chǔ)的 ORM,而且支持所有其它的復(fù)雜功能,如緩存、延時(shí)加載、主動抓取、分布式緩存等。Hibernate 框架是 Java 應(yīng)用和關(guān)系數(shù)據(jù)庫之間的橋梁,它負(fù)責(zé) Java 對象和關(guān)系數(shù)據(jù)庫之間的映射,在 Hibernate 內(nèi)部封裝了通過 JDBC 訪問數(shù)據(jù)庫的操作,向上層應(yīng)用提供了面向?qū)ο蟮臄?shù)據(jù)庫訪問 API,它的主要特點(diǎn)有以下幾方面:協(xié)調(diào)應(yīng)用程序與關(guān)系數(shù)據(jù)庫的交互,讓開發(fā)者更專注于業(yè)務(wù)邏輯的解決,它可以與大多數(shù)新的或者現(xiàn)在的應(yīng)用框架平穩(wěn)集成;它對JDBC 進(jìn)行了輕量級的對象封裝,使 Java 程序員可以隨心所欲的使用面向?qū)ο缶幊痰乃季S來操縱數(shù)據(jù)庫。Hibernate 可以應(yīng)用在任何使用 JDBC 的場合,既可以在Java 的客戶端程序中使用,也可以在 Servlet/JSP 的 Web 應(yīng)用中使用,最具革命性意義的是它可以在應(yīng)用 EJB 的 J2EE 架構(gòu)中替代 CMP 完成數(shù)據(jù)持久化的任務(wù)。目前,由于 Hibernate 框架已經(jīng)成為了事實(shí)上標(biāo)準(zhǔn)的 O/R 映射技術(shù)。因此在Spring 框架中已經(jīng)對 Hibernate 框架進(jìn)行了最深入的集成,即借助于 Spring 天津工業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文)10IoC 和 Spring AOP 可以對 Hibernate 框架進(jìn)行了最為有效的集成。Hibernate 本身帶給我們的不僅僅是一種軟件開發(fā)的架構(gòu),更是一種值得推廣的數(shù)據(jù)持久性解決方案。這些數(shù)據(jù)持久性設(shè)計(jì)的概念是可以在脫離開 Hibernate 之后,推廣應(yīng)用到更廣泛的數(shù)據(jù)持久性處理領(lǐng)域中的。目前 中的實(shí)體 Bean 的最新設(shè)計(jì)己經(jīng)采用了和 Hibernate 類似的解決方案。 Hibernate 的體系結(jié)構(gòu)Hibernate 作為完美的 ORM 解決方案,不僅僅管理 Java 類到數(shù)據(jù)庫表的映射,還提供數(shù)據(jù)查詢和獲取數(shù)據(jù)的方法,可以大幅度減少開發(fā)時(shí)人工使用 SQL 語句和JDBC API 處理數(shù)據(jù)的時(shí)間。極大地減少了開發(fā)者與數(shù)據(jù)持久化相關(guān)的編程任務(wù)。Hibernate 基本的體系結(jié)構(gòu)圖如圖 24 所示:H i b e r n a t eD a t a b a s eA p p l i c a t i o nP e r s i s t e n t o b j e c t sH i b e r n a t e . p r o p e r t i e s X M L M a p p i n g圖 24 Hibernate 體系結(jié)構(gòu)圖在 Hibernate 體系結(jié)構(gòu)中主要包括以下幾個(gè)重要的接口和類:(1)SessionFactory:針對單個(gè)數(shù)據(jù)庫映射關(guān)系經(jīng)過編譯后的內(nèi)存鏡像,是線程安全的。它是生成 Session 的工廠,并且要用到 ConnectionProvider 類。該對象可以在進(jìn)程或集群的級別上,為那些事務(wù)之間重用的數(shù)據(jù)提供可選的二級緩存。(2)Session:表示應(yīng)用程序與持久層交互操作的一個(gè)單線程對象,此對象的生存周期很短。其隱含了 JDBC 的鏈接操作,它是事務(wù) Transaction 的工廠。其會持有一個(gè)針對持久化對象的必選緩存,在根據(jù)持久化標(biāo)識查找對象時(shí)會用到。(3) 持久化對象及其集合:帶有持久化狀態(tài)的、具有業(yè)務(wù)功能的單線程對象。這些對象可以是普通的 JavaBeans/POJO,唯一特殊的是他們與一個(gè) Session 相關(guān)聯(lián)。這個(gè) Session 被關(guān)閉的同時(shí),這些對象也會脫離持久化狀態(tài),可以被應(yīng)用程序的任何層自由使用。(4) 瞬態(tài)對象和托管對象:系統(tǒng)通過 new 關(guān)鍵字創(chuàng)建的 Java 實(shí)例,沒有與Session 相關(guān)聯(lián),此時(shí)該實(shí)例處于瞬態(tài)。瞬態(tài)實(shí)例可能是在被應(yīng)用程序?qū)嵗?,尚未進(jìn)行持久化的對象。如果一個(gè)曾經(jīng)持久化過的實(shí)例,但因?yàn)?Session 的關(guān)閉天津工業(yè)大學(xué) 2022 屆本科生畢業(yè)設(shè)計(jì)(論文)11則轉(zhuǎn)化為托管狀態(tài)。(5)Transaction:應(yīng)用程序用來指定原子操作單元范圍的對象,它是單線程的,生命周期很短。它通過抽象將應(yīng)用從底層具體的 JDBC、JTA 以及 CORBA 事務(wù)隔離開。某些情況下,一個(gè) Session 之內(nèi)可能包含多個(gè) Transaction 對象。(6)ConnectionPeovider:生成 JDBC 連接的工廠,同時(shí)具備連接池的作用。它通過將應(yīng)用從底層的 DataSource 或 DriverManager 隔離開。僅在應(yīng)用程序擴(kuò)展時(shí)使用。(7)TransactionFactory:生成 Transaction 對象實(shí)例的工廠。僅供開發(fā)者擴(kuò)展使用,無須應(yīng)用程序直接訪問。 Spring 框架 Spring 框架的概述Spring 框架是由 Rod Johnson 創(chuàng)立的一個(gè)開放源碼的應(yīng)用框架。它是輕量級的 J2EE 應(yīng)用框架,旨在簡化 J2EE 的開發(fā),降低 J2EE 項(xiàng)目實(shí)施的難度。Spring 框架的貢獻(xiàn)包括兩個(gè)部分,首先是為 J2EE 應(yīng)用提供了一個(gè)優(yōu)雅的基礎(chǔ)結(jié)構(gòu);另外它還提供了許多旨在幫助開發(fā)人員更好的使用 J2EE 相關(guān)技術(shù)的工具性支持。同時(shí),Spring 框架也是一個(gè)分層架構(gòu),它由 7 個(gè)定義良好的模塊組成。如圖 25顯示了 Spring 框架的模塊結(jié)構(gòu)。S p r i n g W e b M V CS p r i n g D A OS p r i n g A O P
點(diǎn)擊復(fù)制文檔內(nèi)容
物理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1