亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Java Web應(yīng)用框架研究與應(yīng)用

        2017-11-27 10:21:57楊國勛
        科技傳播 2017年21期

        楊國勛

        摘 要 為提高Web應(yīng)用系統(tǒng)開發(fā)的效率和質(zhì)量,IT企業(yè)通常使用框架技術(shù)來進(jìn)行Web應(yīng)用的設(shè)計(jì)和開發(fā)。本文對目前通用的基于Java技術(shù)的SSH三大框架的技術(shù)和特點(diǎn)進(jìn)行了研究,并分析了在實(shí)際Java Web應(yīng)用設(shè)計(jì)開發(fā)中各框架的應(yīng)用范圍。

        關(guān)鍵詞 Struts2;Hibernate;Spring;控制反轉(zhuǎn);面向切面編程

        中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 1674-6708(2017)198-0090-02

        隨著互聯(lián)網(wǎng)的發(fā)展普及,市場對建立在互聯(lián)網(wǎng)上的Web應(yīng)用的需求也越來越多,企業(yè)內(nèi)部的信息化管理系統(tǒng)也逐漸從原來的C/S結(jié)構(gòu)的桌面軟件應(yīng)用升級到基于B/S結(jié)構(gòu)的Web應(yīng)用系統(tǒng),因此如何高效率和高質(zhì)量的開發(fā)Web應(yīng)用系統(tǒng),就成了各家IT企業(yè)需要迫切解決的問題。在Web應(yīng)用開發(fā)中,IT企業(yè)通常會使用框架技術(shù)來進(jìn)行開發(fā)。因?yàn)楹芏郬eb應(yīng)用的底層功能需求都是一致的,例如數(shù)據(jù)庫的訪問,http請求的處理和響應(yīng)的設(shè)計(jì)等,另外一方面Web應(yīng)用項(xiàng)目通常是由多個(gè)軟件工程師協(xié)作開發(fā)的,而框架提供了良好的設(shè)計(jì)模式和分層設(shè)計(jì),使得Web應(yīng)用的分層和分工更加合理和高效。正是因?yàn)槭褂每蚣茉O(shè)計(jì)的諸多優(yōu)點(diǎn),絕大部分公司都采用框架來進(jìn)行Web應(yīng)用程序的設(shè)計(jì)和開發(fā),其中一些大型的IT公司經(jīng)過多年的技術(shù)積累,研發(fā)了適合本公司業(yè)務(wù)需求的框架,而大部分公司則是采用了市場中流行的框架來進(jìn)行Web應(yīng)用的設(shè)計(jì)開發(fā)。其中基于Java技術(shù)的就有SSH框架,SSH框架其實(shí)是由3個(gè)框架組成,有位于表示層的Struts2框架,位于業(yè)務(wù)邏輯層的Spring框架和數(shù)據(jù)訪問層的Hibernate框架。

        1 Struts2框架

        Struts2是實(shí)現(xiàn)了簡潔MVC設(shè)計(jì)模式的Web應(yīng)用開發(fā)框架。Struts2定義了通用的控制器(Controller),使用Action對用戶請求做了封裝并調(diào)用對應(yīng)業(yè)務(wù)邏輯模型(Model)進(jìn)行處理,通過配置文件設(shè)置請求響應(yīng)的跳轉(zhuǎn)視圖(View),這樣的設(shè)計(jì)降低了系統(tǒng)各個(gè)模塊的耦合度,使得前期開發(fā)和后期維護(hù)都更加高效。使用Struts2進(jìn)行開發(fā)還有以下優(yōu)勢。

        1)Struts2框架的大部分功能都是通過攔截器的方式實(shí)現(xiàn)的,攔截器是面向切面編程(AOP)的一種實(shí)現(xiàn)策略,通過攔截器的方式軟件工程師可以根據(jù)自己的需要很方便的對Struts2框架中提供的功能進(jìn)行取舍,組合,修改和自定義。

        2)Struts2框架提供了方便的表單參數(shù)獲取方式,可以通過Action的屬性來獲取參數(shù),通過DomainModel獲取參數(shù)或通過ModelDriven獲取參數(shù)。

        3)Struts2框架提供了豐富的頁面標(biāo)簽等簡化編碼的工具來替代JSTL。

        4)Struts2框架提供了異常處理機(jī)制,使得軟件工程師處理異常更加簡單。

        5)Struts2框架提供了頁面國際化的功能,使得Web應(yīng)用能夠很方便的實(shí)現(xiàn)頁面的國際化。

        6)Struts2框架提供了輸入數(shù)據(jù)的校驗(yàn)機(jī)制,使得軟件工程師使用Struts2的頁面標(biāo)簽和簡單的xml文件配置就能實(shí)現(xiàn)很復(fù)雜的用戶輸入數(shù)據(jù)的校驗(yàn)。

        2 Hibernate框架

        有些在內(nèi)存中處理的數(shù)據(jù)最終是需要保存到數(shù)據(jù)庫中的,這個(gè)過程被稱為數(shù)據(jù)的持久化,在Java技術(shù)中是使用JDBC的技術(shù)來實(shí)現(xiàn),而使用JDBC的技術(shù)就需要在代碼中使用SQL語言這類的關(guān)系數(shù)據(jù)庫的操作語言,而Java是面向?qū)ο蟮恼Z言,因此在程序中就總是要處理關(guān)系數(shù)據(jù)到對象的相互轉(zhuǎn)換和映射,使得代碼編寫繁瑣,因此有些軟件工程師自己在JDBC 技術(shù)基礎(chǔ)上編寫了相應(yīng)的框架實(shí)現(xiàn)了關(guān)系數(shù)據(jù)到對象的相互轉(zhuǎn)換和映射,其中目前最流行的框架就是Hibernate。

        Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了代碼封裝,可以自動(dòng)生成SQL語句,軟件工程師完全可以不用在代碼中寫一條SQL語句,就能夠?qū)﹃P(guān)系數(shù)據(jù)庫進(jìn)行操作,可以完全使用面向?qū)ο缶幊趟枷雭硖幚黻P(guān)系數(shù)據(jù)。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Web應(yīng)用中使用,也可以在窗體桌面程序中使用。Hibernate提供了延遲加載機(jī)制,只是在需要的時(shí)候才將數(shù)據(jù)庫中的數(shù)據(jù)取出來映射成對象,這樣就減少了服務(wù)器內(nèi)存的占用,提升了服務(wù)器的性能。Hibernate還提供了數(shù)據(jù)緩存機(jī)制,通過一級緩存和二級緩存將數(shù)據(jù)查詢數(shù)據(jù)存放到緩存區(qū),再次需要相關(guān)數(shù)據(jù)時(shí)可以先直接到緩存區(qū)取,提高了Web應(yīng)用的響應(yīng)速度。

        3 Spring框架

        Spring框架是輕量級的使用了控制反轉(zhuǎn)和面向切面編程技術(shù)的容器框架,主要是針對JavaBean的生命周期進(jìn)行管理的輕量級容器。

        控制反轉(zhuǎn)是一種設(shè)計(jì)模式,通過此模式可以解決代碼間的耦合,它把耦合從代碼中移出去,放到統(tǒng)一的XML文件中,通過一個(gè)容器在需要的時(shí)候把這個(gè)依賴關(guān)系形成,即把需要的接口實(shí)現(xiàn)注入到需要它的類中。Spring實(shí)現(xiàn)了控制反轉(zhuǎn)模式,由Spring來管理對象的生命周期、依賴關(guān)系等,從而使得應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際的應(yīng)用程序代碼分開。其中一個(gè)特點(diǎn)就是通過文本的配置文件進(jìn)行應(yīng)用程序組件間相互關(guān)系的配置,而不用重新修改并編譯具體的代碼。

        面向切面編程讓關(guān)注點(diǎn)代碼與業(yè)務(wù)代碼分離,關(guān)注點(diǎn)代碼就是指具有通用功能,會被反復(fù)調(diào)用的一段代碼,面向切面編程就是將這部分代碼抽取出來形成切面類,提供給不同的業(yè)務(wù)代碼進(jìn)行調(diào)用。面向切面編程的特點(diǎn)是可以動(dòng)態(tài)地添加和刪除在切面上的邏輯而不影響原來的執(zhí)行代碼。

        正是由于Spring是基于控制反轉(zhuǎn)和面向切面的技術(shù),因此使用Spring框架可以很方便的對Java對象進(jìn)行管理,而不影響原有項(xiàng)目的關(guān)鍵代碼,可以快速高效的將多個(gè)框架整合在一起。

        4 SSH框架整合

        根據(jù)SSH這3個(gè)框架的不同特點(diǎn),在整合的時(shí)候,Struts2位于表示層負(fù)責(zé)Web應(yīng)用和用戶的交互和頁面邏輯的跳轉(zhuǎn),Hibernate位于數(shù)據(jù)訪問層負(fù)責(zé)數(shù)據(jù)庫的操作,Spring位于業(yè)務(wù)邏輯層負(fù)責(zé)管理業(yè)務(wù)邏輯處理對象,并可以根據(jù)需要管理Struts2和Hibernate中核心對象的生命周期。其整合方式如圖1所示。

        這樣的分層方式使得軟件開發(fā)團(tuán)隊(duì)的分工更加明確,每位工程師都只需要專注自己擅長的領(lǐng)域,提高了開發(fā)效率。當(dāng)系統(tǒng)需要進(jìn)行功能變更和維護(hù)時(shí)也更加方便,而且因?yàn)镾pring具有控制反轉(zhuǎn)和面向切面編程的特性,在必要時(shí)也可以很方便的替換表示層和數(shù)據(jù)訪問層框架。

        參考文獻(xiàn)

        [1]李健.Java SSH框架在Java Web中的應(yīng)用[J].電腦與電信,2016(3):69-72.

        [2]張宇.基于Spring的MVC框架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(4):59-62.endprint

        亚洲av不卡电影在线网址最新 | 人妻无码中文专区久久五月婷| 日本不卡一区二区高清中文| 亚洲一区二区三区1区2区| 国产av在线观看久久| 国产免费人成视频在线观看| 国产婷婷丁香久久综合| 高清国产美女一级a毛片在线 | 精品中文字幕制服中文| 国产黄色一级到三级视频| 天天干天天日夜夜操| 色噜噜狠狠一区二区三区果冻| 亚洲欧洲日产国产AV无码| 日本加勒比一区二区在线观看| 欧美又大粗又爽又黄大片视频| 久久国产精品精品国产色婷婷| 免费毛片性天堂| 老司机在线免费视频亚洲| 国产精品免费观看调教网| 国产精品va在线观看无码| 免费无码又爽又刺激又高潮的视频 | 亚洲一区二区日韩在线| 一区二区三区中文字幕p站| 最近日本免费观看高清视频| 国产在线不卡免费播放| 国产精品女同一区二区免| 午夜dy888国产精品影院| 亚洲另类自拍丝袜第五页| 人人妻人人澡av| 精品人妻一区二区三区在线观看| 97色伦综合在线欧美视频| 国产精品亚洲综合一区在线观看| 国产成人精品视频网站| 最新中文字幕亚洲一区| 最新系列国产专区|亚洲国产| 综合网在线视频| 国产免费一区二区三区在线观看 | 久久久久成人精品无码中文字幕 | 少妇高潮喷水久久久影院| 久久这里只有精品黄色| 国产香蕉视频在线播放|