999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

JFinal與SSH在JavaWeb應用開發中的研究

2019-05-24 14:12:12干佳林何貞銘廖環宇
電腦知識與技術 2019年7期

干佳林 何貞銘 廖環宇

摘要:隨著JavaWeb應用技術的發展,JavaWeb應用框架應運而生,開發者選擇合適的開發框架將事半功倍。該文研究了JFinal和SSH(Struts2+Spring+Hibernate)兩種框架的構成及特點,分別介紹兩種技術在Web應用中的開發實例,并做出總結。該文充分展示了兩種框架技術的應用特色,為開發者選擇應用開發框架時提供了一定的參考依據。

關鍵詞:SSH;JFinal;JavaWeb;框架

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2019)07-0081-02

開放科學(資源服務)標識碼(OSID):

隨著JavaWeb技術的發展,開發項目中所運用的JavaWeb框架技術也層出不窮。開發者使用框架的主要目的是[1]:實現業務模塊間的松耦合性、系統的擴展性、代碼的重用性,從而達到開發、維護的高效性。

JFinal于2011年初推出,是一種基于微內核、全方位擴展型架構,SSH是一種典型的J2EE三層結構。前者在開源社區備受矚目,后者是當前Java Web中主流框架,將兩者進行比較,對Java Web開發者具有一定的參考價值。

1 Jfinal

1.1 JFinal介紹

JFinal是一款國產的、基于MVC+ORM的開源JavaWeb框架[2],其設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優勢的同時,并擁有ruby、python、php等動態語言的開發效率。

1.2 JFinal的架構及其特點

JFinal由Handler、Interceptor、Controller、Render、Plugin五大部分組成[3],每個部分都是基于接口實現的,支持完整的自定義,使用靈活,擴展性強。JFinal總體架構圖如圖1所示。

其中,JFinalFilter負責攔截客戶端請求,Handler是一個鏈條式調用,并對請求進行詳細處理,Interceptor負責在Controller或方法執行前執行,Render負責視圖渲染。Plugin是JFinal的插件部分[4],提供了c3p0、Spring等第三方插件集成,同時支持用戶自定義集成插件。

JFinal框架采用MVC架構,設計精巧,使用簡單;支持AOP[5],提供配置靈活功能強大的攔截器;同時遵循COC原則,無XML實現零配置等特點。其在開發的每個階段都提供了大量的便捷性和支持。

2 SSH

2.1 SSH介紹

SSH是一種由Struts2、Spring、Hibernate三個框架組合的集成框架[6],是目前較流行的一種Web應用程序開源框架。集成SSH框架的系統從職責上分為三層:表示層、業務邏輯層、數據持久層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。

2.2 SSH的架構及其特點

Struts2是一個基于MVC[7]設計模式的Web應用框架。它本質上相當于一個servlet,在MVC設計模式中,Struts2作為控制器(Controller)來建立模型與視圖的數據交互。

Spring是一個輕量級控制反轉(IoC)和面向切面(AOP)的容器框架[8]。Spring可以將簡單的組件配置、組合成為復雜的應用。

Hibernate是一個開放源代碼的對象關系映射框架[9],它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的ORM框架。

三者在整合框架中,各司其職。其中Struts2位于表現層,負責與用戶的交互和頁面邏輯的跳轉;Spring位于業務邏輯層,負責管理業務邏輯處理對象;Hibernate位于數據訪問層,負責數據庫的操作[10]。SSH整合架構圖如圖2所示。

3 兩種框架在Web項目中的應用

本節以管理員在博客中添加文章為功能需求,分別以兩者框架中Controller中部分代碼為例。

3.1 JFinal在Web應用開發實例

采用JFinal編寫相關代碼,核心代碼如下:

@Before(AdminInterceptor.class)

publicclassArticleControllerextendsController{

// 添加

publicvoidadd() {

getModel(Article.class).save();

redirect("/article/list");

}

}

其中Controller是JFinal的核心類之一[11],該類作為MVC模式中的控制器,基于JFinal的Web應用的控制器需要繼承該類。該控制器執行前,可在AdminInterceptor攔截器中進行登錄權限校驗等操作。getModel用來接收頁面表單域傳遞過來的model對象,該model對象與Article實體類相對應,實現數據傳參和入庫操作規范化和簡單化。

3.2 SSH在Web應用開發實例

結合上文提到的實例,采用SSH框架編寫相關代碼,核心代碼如下:

@SessionAttributes(value = "article")

@Controller

//使用該注解標志它是一個控制器

@RequestMapping(value = "/article")

public class ArticleController {

@Autowired

publicArticleServicearticleService;

@RequestMapping(value = "/add")

PublicModelAndViewaddArticle(ModelMap mm, Article article){

ModelAndViewmav = new ModelAndView("/article"); articleService.addArticle(article);

mav.addObject("article", articleService.getArticles());

returnmav;

}

}

SSH框架一般把代碼分為Controller、Service、Dao、Entity四層。其中,Controller層完成前端控制器解析處理的URI;Service層負責業務處理層,提供控制層調用接口的抽象方法及其實現;Dao層提供與數據庫交互的方法,及其相關的SQL語句;Entity層與數據庫表進行映射,并提供get和set方法。

3.3兩種框架在JavaWeb項目中的開發總結

JFinal與SSH兩者都有各自的特點,如何進行取舍,取決于項目實際情況。以下從客觀的角度,將JFinal與SSH進行對比,如表1所示。

從開發環境配置方面比較,JFinal比SSH配置相對復雜,同時后者需要考慮不同jar包版本之間的兼容性問題。從開發工作量方面比較,JFinal開發工作量相對較少。從擴展性和維護性比較,SSH通過控制反轉和面向切面編程技術,解決代碼間的耦合,相對JFinal具有優勢。

4 結束語

本文主要簡單闡述了JFinal和SSH兩種開源框架及其特點,并結合實例分別介紹兩種框架下的開發步驟,最后,針對兩種框架下的開發進行總結。對于個人學習JavaWeb框架入門或者小型項目,JFinal是個不錯的選擇,但是對于擴展性、靈活性要求較高的項目,則應當選擇SSH框架。

參考文獻:

[1] 周偉. 計算機JavaWeb軟件MVC設計模式的研究與實現[J]. 電腦迷, 2016(12): 33, 57.

[2] 蘇小平. 基于Jfinal+Shiro框架的Web應用系統開發研究[J]. 電腦知識與技術, 2016, 12(30): 68-70.

[3] 楊寧,劉丹軍. 基于JFinal框架的Java Web應用開發研究[J]. 電腦知識與技術, 2014, 10(7): 1440-1443.

[4] 歐陽宏基,于博,葛萌. 基于JFinal框架的Java EE應用研究[J]. 微處理機, 2017(4): 45-50.

[5] 肖榮,張云華. 基于AOP和反射計算的動態自適應中間件[J]. 計算機系統應用, 2010, 19(1): 21, 58-62.

[6] 譚呈祥. 基于Struts2+Hibernate+Spring的就業信息管理系統設計與實現[J]. 電腦迷, 2018(4): 87-88.

[7] 張雪敏. 淺議MVC設計模式在JavaWeb中的作用[J]. 科技風, 2018(22): 58-59.

[8] 黃俊勇. 基于Spring框架的研究與設計[J]. 電腦知識與技術, 2018, 14(3): 116-117, 120.

[9] 楊國勛. Java Web應用框架研究與應用[J]. 科技傳播, 2017, 9(21): 90-91.

[10] 高進. Java Web中的Java SSH框架分析[J]. 科技風, 2018(23): 48.

[11] 趙璘,王紅霞. JFinal與Spring MVC+JDBCTemplate在Web應用開發中的研究[J]. 電子元器件與信息技術, 2017, 1(1): 13-23.

【通聯編輯:代影】

主站蜘蛛池模板: 国产精品亚洲一区二区三区z | 欧美日本在线播放| 永久毛片在线播| 久久亚洲黄色视频| 狠狠色综合久久狠狠色综合| 黄色福利在线| 国产免费网址| 亚洲国模精品一区| 亚洲高清资源| 午夜少妇精品视频小电影| 亚洲天堂视频在线观看| 色综合久久88| 欧美劲爆第一页| 91尤物国产尤物福利在线| 欧美一级在线看| 国产亚洲欧美在线中文bt天堂| 天堂av高清一区二区三区| 精品成人免费自拍视频| 欧美性爱精品一区二区三区 | 日韩在线欧美在线| 国产精品原创不卡在线| 91久久偷偷做嫩草影院电| 黄网站欧美内射| 亚洲国产成人久久精品软件| 亚洲自偷自拍另类小说| 免费无码在线观看| 久久人搡人人玩人妻精品一| 亚洲欧美一级一级a| 国产亚洲高清在线精品99| 久久人人爽人人爽人人片aV东京热 | 国产美女91视频| 国产精品综合色区在线观看| 精品一区二区三区波多野结衣| 日韩欧美高清视频| 久久香蕉欧美精品| 九九热视频在线免费观看| 久青草网站| 国产精品亚欧美一区二区| 国产资源免费观看| 国产欧美日韩精品综合在线| 欧美午夜视频在线| 国产精品视频白浆免费视频| 91人妻日韩人妻无码专区精品| 乱系列中文字幕在线视频| 国产精品毛片在线直播完整版| 亚洲精品色AV无码看| 国产国产人成免费视频77777| 女人av社区男人的天堂| www.99精品视频在线播放| www中文字幕在线观看| 激情无码字幕综合| 日本不卡在线播放| 又猛又黄又爽无遮挡的视频网站| 国产精品亚洲片在线va| 日韩高清无码免费| 欧美成人A视频| 亚洲va在线观看| 国产成人AV综合久久| 免费看美女毛片| 波多野结衣在线se| 国产白浆一区二区三区视频在线 | 亚洲侵犯无码网址在线观看| 四虎永久在线| 日本免费a视频| 久久国产精品娇妻素人| 久久香蕉国产线看观看精品蕉| 欧美成人精品高清在线下载| 国产美女一级毛片| 国产成人在线小视频| 91在线丝袜| 国内精自视频品线一二区| 无码免费视频| 国产成人综合网| 欧美三级日韩三级| 亚洲精品视频免费| 重口调教一区二区视频| 伊人狠狠丁香婷婷综合色| 国产欧美日韩在线一区| 国产亚洲精品资源在线26u| 亚洲美女视频一区| 日本不卡视频在线| 欧美精品啪啪|