知è˜(shÃ)
ä¸ç®¡æ˜¯ç¶²(wÇŽng)站,軟件還是å°ç¨‹åºï¼Œéƒ½è¦ç›´æŽ¥æˆ–間接能為您產(chÇŽn)生價(jià )值,我們?cè)è°§éžç¬ƒæ¹Ÿæ›ˆX表ç¾(xià n)çš„åŒæ™‚(shÃ),更å´(cè)é‡äºŽåŠŸèƒ½çš„ä¾¿æ·ï¼Œç‡Ÿ(yÃng)銷的便利,é‹(yùn)營(yÃng)的高效,讓網(wÇŽng)ç«™æˆç‚ºç‡Ÿ(yÃng)銷工具,讓軟件能切實(shÃ)æå‡ä¼æ¥(yè)å…§(nèi)éƒ¨ç®¡ç†æ°´å¹³å’Œæ•ˆçŽ‡ã€‚å„ª(yÅu)秀的程åº?yà n)楹笃è°î¥?jÃ)æä¾›ä¾¿æ·çš„æ”¯æŒï¼
您當(dÄng)å‰ä½ç½®>é¦–é » æ–°èžè³‡è¨Š » ç¶²(wÇŽng)站建è¨(shè) >
Java Webç›®å‰ä¸»æµæ¯”較æˆç†Ÿçš„æ¡†æž¶ä»¥åŠæ£åœ¨èˆˆèµ·çš„æ¡†æž¶
發(fÄ)表時(shÃ)間:2018-7-16
發(fÄ)布人:葵宇科技
ç€è¦½æ¬¡æ•¸(shù):79
æˆç†Ÿçš„æ¡†æž¶ä»‹ç´¹
æ ¹æ“š(jù)RebelLabs,也是在線Java用戶組(虛擬JUG)çš„åª’é«”ç›Ÿå‹æ‰€é€²(jìn)行的調(dià o)查,2018年最佳Java框架的陣容如下:
這樣下來就是SpringMVC+Spring+MyBatis的整åˆä½¿ç”¨ã€‚
這里å¯ä»¥å¸(xué)ç¿’(xÃ)慕課網(wÇŽng)çš„:
æžå®šJava SSM框架開發(fÄ):
http://www.imooc.com/course/programdetail/pid/59
從這一點(diÇŽn)來說,慕課網(wÇŽng)還是很給力的。
Hibernate 框架
Hibernate 是一種ORM框架,全稱為 Object-Relative Database-Mapping,在Javaå°(duì)象與關(guÄn)系型數(shù)據(jù)庫(kù)之間建立æŸç¨®æ˜ å°„,以實(shÃ)ç¾(xià n)直接å˜å–Javaå°(duì)象(POJO)。ORM框架是一種ä¸åŒèˆ‡MVCçš„å¦ä¸€ç¨®æ€æƒ³æ¡†æž¶,é©ç”¨èŒƒåœä¹Ÿèˆ‡MVC截然ä¸åŒã€‚
使用JDBC連接來讀寫數(shù)據(jù)庫(kù),我們最常見的就是打開數(shù)據(jù)庫(kù)連接ã€ä½¿ç”¨å¾©(fù)雜的SQL語å¥é€²(jìn)行讀寫ã€é—œ(guÄn)閉連接,ç²å¾—的數(shù)據(jù)åˆéœ€è¦è½‰(zhuÇŽn)æ›æˆ–å°è£åŽå¾€å¤–傳,這是一個(gè)éžå¸¸ç…©ç‘£çš„éŽç¨‹ã€‚
這時(shÃ)出ç¾(xià n)了Hibernate框架,它需è¦ä½ 創(chuà ng)建一系列的æŒä¹…化類,æ¯å€‹(gè)類的屬性都å¯ä»¥ç°¡(jiÇŽn)單的看åšå’Œä¸€å¼µæ•¸(shù)據(jù)庫(kù)表的屬性一一å°(duì)應(yÄ«ng),ç•¶(dÄng)然也å¯ä»¥å¯¦(shÃ)ç¾(xià n)é—œ(guÄn)系數(shù)據(jù)庫(kù)çš„å„種表件關(guÄn)è¯(lián)çš„å°(duì)應(yÄ«ng)。當(dÄng)我們需è¦ç›¸é—œ(guÄn)æ“作是,ä¸ç”¨å†é—œ(guÄn)注數(shù)據(jù)庫(kù)表。我們ä¸ç”¨å†åŽ»ä¸€è¡Œè¡Œçš„æŸ¥è©¢æ•¸(shù)據(jù)庫(kù),åªéœ€è¦æŒä¹…化類就å¯ä»¥å®Œæˆå¢žåˆªæ”¹æŸ¥çš„功能。使我們的軟件開發(fÄ)真æ£é¢å‘?qÅ«)ο?#xff0c;è€Œä¸æ˜¯é¢å‘æ··äº‚çš„ä»£ç¢¼ã€‚æˆ‘çš„æ„Ÿå—æ˜¯,使用Hibernate比JDBCæ–¹å¼æ¸›å°‘了80%的編程é‡ã€‚
Struts2框架
本詞æ¢ç¼ºå°‘ä¿¡æ¯æ¬„ã€å片圖,補(bÇ”)充相關(guÄn)å…§(nèi)å®¹ä½¿è©žæ¢æ›´å®Œæ•´,還能快速å‡ç´š(jÃ),趕緊來編輯å§!
Struts2以WebWork優(yÅu)秀的è¨(shè)計(jì)æ€æƒ³ç‚ºæ ¸å¿ƒ,叿”¶äº† Struts框架的部分優(yÅu)點(diÇŽn),æä¾›äº†ä¸€å€‹(gè)æ›´åŠ æ•´æ½”çš„MVCè¨(shè)計(jì)模å¼å¯¦(shÃ)ç¾(xià n)çš„Web 應(yÄ«ng)ç”¨ç¨‹åºæ¡†æž¶
Struts2以WebWork優(yÅu)秀的è¨(shè)計(jì)æ€æƒ³ç‚ºæ ¸å¿ƒ,叿”¶äº† Struts框架的部分優(yÅu)點(diÇŽn),æä¾›äº†ä¸€å€‹(gè)æ›´åŠ æ•´æ½”çš„MVCè¨(shè)計(jì)模å¼å¯¦(shÃ)ç¾(xià n)çš„Web 應(yÄ«ng)ç”¨ç¨‹åºæ¡†æž¶ã€‚ Struts2引入了幾個(gè)新的框架特性:從é‚輯ä¸åˆ†é›¢å‡ºæ©«åˆ‡é—œ(guÄn)注點(diÇŽn)çš„æ””æˆªå™¨ã€æ¸›å°‘或者消除é…置文件ã€è²«ç©¿æ•´å€‹(gè)框架的強(qiáng)大表é”(dá)å¼èªžè¨€ã€æ”¯æŒå¯è®Šæ›´å’Œå¯é‡ç”¨çš„基于MVC模å¼çš„æ¨™(biÄo)ç°½API, Struts2充分利用了從其它MVC框架å¸(xué)到的經(jÄ«ng)é©—(yà n)和教訓(xùn),使得 Struts2æ¡†æž¶æ›´åŠ æ¸…æ™°éˆæ´»ã€‚
Struts 框架(ç›®å‰å·²æ·˜æ±°)
strutsé…置太éŽäºŽå¾©(fù)雜,而且太ä¸ç¶“(jÄ«ng)用,ç¶“(jÄ«ng)å¸¸å ±(bà o)錯(cuò),ç¶è·(hù)使用ä¸ä¾¿,å†åŠ ä¸Šæ¼æ´žå‰ç§‘,很多ä¸å°åž‹éƒ½æ”¾æ£„了使用,直接用spingMVC替代。而hibernate性能一般,å†åŠ ä¸Šsql語å¥å…¨å°è£,而Mybatis是åŠå°è£,æ›´åŠ éˆæ´»ã€‚性能強(qiáng)大,已經(jÄ«ng)有了å–而代之的趨勢(shì)。為了解決這些å•題,出ç¾(xià n)了Struts框架,它是一個(gè)完美的MVC實(shÃ)ç¾(xià n),它有一個(gè)ä¸å¤®æŽ§åˆ¶é¡ž(一個(gè)Servlet),é‡å°(duì)ä¸åŒçš„æ¥(yè)å‹™(wù),我們需è¦ä¸€å€‹(gè)Actioné¡žè² (fù)責(zé)é é¢è·³è½‰(zhuÇŽn)å’ŒåŽè‡º(tái)é‚輯é‹(yùn)ç®—,一個(gè)或幾個(gè)JSPé é¢è² (fù)責(zé)數(shù)據(jù)的輸入和輸出顯示,還有一個(gè)Formé¡žè² (fù)責(zé)傳éžActionå’ŒJSPä¸é–“的數(shù)據(jù)。JSPä¸å¯ä»¥ä½¿ç”¨Struts框架æä¾›çš„一組標(biÄo)ç°½,å°±åƒä½¿ç”¨HTML標(biÄo)簽一樣簡(jiÇŽn)å–®,但是å¯ä»¥å®Œæˆéžå¸¸å¾©(fù)雜的é‚輯。從æ¤JSPé é¢ä¸ä¸éœ€è¦å‡ºç¾(xià n)一行<%%>包åœçš„Java代碼了。 坿˜¯æ‰€æœ‰çš„é‹(yùn)ç®—é‚輯都放在Strutsçš„Action里將使得Action類復(fù)用度低和é‚輯混亂,所以通常人們會(huì)把整個(gè)Web應(yÄ«ng)用程åºåˆ†ç‚ºä¸‰å±¤,Strutsè² (fù)責(zé)顯示層,它調(dià o)用æ¥(yè)å‹™(wù)層完æˆé‹(yùn)ç®—é‚輯,æ¥(yè)å‹™(wù)層å†èª¿(dià o)用æŒä¹…å±¤å®Œæˆæ•¸(shù)據(jù)庫(kù)的讀寫。
MyBatis 框架
MyBatis 本是apache的一個(gè)é–‹æºé …(xià ng)ç›®iBatis, 2010年這個(gè)é …(xià ng)目由apache software foundation é·ç§»åˆ°äº†google code,并且改å為MyBatis 。2013å¹´11月é·ç§»åˆ°Github。
iBATIS一詞來æºäºŽâ€œinternetâ€å’Œâ€œabatisâ€çš„組åˆ,是一個(gè)基于Javaçš„æŒä¹…層框架。iBATISæä¾›çš„æŒä¹…å±¤æ¡†æž¶åŒ…æ‹¬SQL Mapså’ŒData Access Objects(DAOs)。
Spring 框架
調(dià o)用者ä¾è³´è¢«èª¿(dià o)用者,它們之間形æˆäº†å¼·(qiáng)耦åˆ,如果我想在其他地方復(fù)用æŸå€‹(gè)類,則這個(gè)類ä¾è³´çš„其他類也需è¦åŒ…å«ã€‚程åºå°±è®Šå¾—很混亂,æ¯å€‹(gè)類互相ä¾è³´äº’相調(dià o)用,復(fù)用度極低。如果一個(gè)類åšäº†ä¿®æ”¹,則ä¾è³´å®ƒçš„很多類都會(huì)å—到牽連。為æ¤,出ç¾(xià n)Spring框架。
Spring的作用就是完全解耦類之間的ä¾è³´é—œ(guÄn)ç³»,一個(gè)類如果è¦ä¾è³´ä»€ä¹ˆ,那就是一個(gè)接å£ã€‚至于如何實(shÃ)ç¾(xià n)這個(gè)接å£,這都ä¸é‡è¦äº†ã€‚åªè¦æ‹¿åˆ°ä¸€å€‹(gè)實(shÃ)ç¾(xià n)了這個(gè)接å£çš„類,å°±å¯ä»¥è¼•æ¾çš„通éŽxmlé…置文件把實(shÃ)ç¾(xià n)類注射到調(dià o)用接å£çš„那個(gè)類里。所有類之間的這種ä¾è³´é—œ(guÄn)系就完全通éŽé…ç½®æ–‡ä»¶çš„æ–¹å¼æ›¿ä»£äº†ã€‚所以Springæ¡†æž¶æœ€æ ¸å¿ƒçš„å°±æ˜¯æ‰€è¬‚çš„ä¾è³´æ³¨å°„和控制å轉(zhuÇŽn)。
spring MVC 框架
Spring MVC屬于SpringFrameWorkçš„åŽçºŒ(xù)產(chÇŽn)å“,已經(jÄ«ng)èžåˆåœ¨Spring Web Flow里é¢ã€‚Spring 框架æä¾›äº†æ§‹(gòu)建 Web 應(yÄ«ng)用程åºçš„全功能 MVC 模塊。使用 Spring 坿’入的 MVC æž¶æ§‹(gòu),從而在使用Spring進(jìn)行WEB開發(fÄ)時(shÃ),å¯ä»¥é¸æ“‡ä½¿ç”¨Springçš„SpringMVC框架或集æˆå…¶ä»–MVC開發(fÄ)框架,如Struts1,Struts2ç‰ã€‚
它是一個(gè)典型的教科書å¼çš„mvcæ§‹(gòu)æž¶,而ä¸åƒstrutsç‰éƒ½æ˜¯è®Šç¨®æˆ–è€…ä¸æ˜¯å®Œå…¨åŸºäºŽmvc系統(tÇ’ng)的框架,å°(duì)于åˆå¸(xué)者或者想了解mvc的人來說我覺得 spring是最好的,它的實(shÃ)ç¾(xià n)就是教科書!第二它和tapestry一樣是一個(gè)ç´”æ£çš„servlet系統(tÇ’ng),這也是它和tapestry相比 struts所具有的優(yÅu)å‹¢(shì)。而且框架本身有代碼,看起來容易ç†è§£ã€‚Data Access Objects(DAOs)。
æ£åœ¨èˆˆèµ·çš„æ¡†æž¶
Jersey 框架
Jersey RESTful 框架是開æºçš„RESTful框架, 實(shÃ)ç¾(xià n)了JAX-RS (JSR 311 & JSR 339) è¦(guÄ«)范。它擴(kuò)展了JAX-RS åƒè€ƒå¯¦(shÃ)ç¾(xià n), æä¾›äº†æ›´å¤šçš„特性和工具, å¯ä»¥é€²(jìn)一æ¥åœ°ç°¡(jiÇŽn)化 RESTful service å’Œ client 開發(fÄ)。盡管相å°(duì)年輕,它已經(jÄ«ng)是一個(gè)產(chÇŽn)å“ç´š(jÃ)çš„ RESTful service å’Œ client 框架。與Struts類似,å®ƒåŒæ¨£å¯ä»¥å’Œhibernate,spring框架整åˆã€‚
由于Struts2+hibernate+springæ•´åˆåœ¨å¸‚å ´(chÇŽng)çš„å æœ‰çŽ‡å¤ªé«˜,所以很少一部分人去關(guÄn)注Jersey。所以網(wÇŽng)上有關(guÄn)于Jersey的介紹很少。但是它確實(shÃ)是一個(gè)éžå¸¸ä¸éŒ¯(cuò)的框架。å°(duì)于請(qÇng)æ±‚å¼æœå‹™(wù),å°(duì)于GET,DELETEè«‹(qÇng)求,ä½ ç”šè‡³åªéœ€è¦çµ¦å‡ºä¸€å€‹(gè)URIå³å¯å®Œæˆæ“作。
舉個(gè)ç°¡(jiÇŽn)單的例å:å¦‚æžœä½ æƒ³ç²å¾—æœå‹™(wù)器數(shù)據(jù)庫(kù)ä¸çš„æ‰€æœ‰æ•¸(shù)據(jù);é‚£ä¹ˆä½ å¯ä»¥åœ¨ç€è¦½å™¨æˆ–者利用Ajaxçš„GET方法,將路徑è¨(shè)置好;例如:localhost:8080/Student(é …(xià ng)ç›®å稱)/studentinfo(é …(xià ng)ç›®æœå‹™(wù)總體å‰ç¶´)/student(處ç†studentå°(duì)象的簽注)/getStudentInfo(最åŽå‰ç¶´)。這樣就å¯ä»¥ç²å–所有å¸(xué)生信æ¯ã€‚ä½ å¯ä»¥é¸æ“‡GETç²å–的數(shù)據(jù)的返回類型:JSON,XML,TEXT_HTML(String)..ç²å–之åŽ,ä½ å¯ä»¥é€šéŽJS將這些數(shù)據(jù)塞到html或者jspé é¢ä¸Šã€‚
springboot 框架
springboot 框架,被稱作一棧å¼è§£æ±ºæ–¹æ¡ˆã€‚比較輕é‡,也是當(dÄng)å‰å¾®æœå‹™(wù)下的趨勢(shì);springboot本身就是構(gòu)建與spring之上,å„ç¨®æ€æƒ³å’Œç‰¹æ€§ç„¡éœ€å¤šèªª,去掉了springç¹ç‘£çš„é…ç½®,ç°¡(jiÇŽn)化了原有spring開發(fÄ)çš„æµç¨‹,æä¾›äº†å„種實(shÃ)用的特性如metric,actuctorç‰ç‰;最é‡è¦çš„æ˜¯springboot附帶了整個(gè)springcloud生態(tà i)。兩個(gè)框架å°(duì)ä½ è§£æ±ºå¤§,ä¸,å°é …(xià ng)目都沒任何å•題
play 框架
playå¯èƒ½æ›´åŠ åå‘于scala點(diÇŽn),æœ¬èº«è¼•é‡æ€§èƒ½é«˜,éš¨è‘—é€æ¥çš„優(yÅu)åŒ–æ˜“ç”¨æ€§ä»¥åŠæ“´(kuò)展性都變得越來越好;
Vue.js 框架
åš´(yán)æ ¼ä¾†èªªé€™å€‹(gè)應(yÄ«ng)該ä¸å±¬äºŽæ¡†æž¶, 從組建構(gòu)é€ ä¸Šä¾†è¬› 是和reactjs 類似的構(gòu)é€ UI組件的。 從整體é‚輯來講, ä»–è¦è§£æ±ºçš„æ˜¯MVVMçš„VM這個(gè)部分, 就是如何把應(yÄ«ng)用程åºçš„model å’Œ view è¯(lián)系起來的這個(gè)VM(view model) 部分。眾所周知, MVC這個(gè)design patternçˆ(zhÄ“ng)è°å¤§çš„就是這個(gè)C的部分, æ‰€ä»¥æ‰æœ‰å„種MV* 的方案æå‡ºã€‚ 他使用起來確實(shÃ)比reactjs ç°¡(jiÇŽn)單方便多了。 代碼也清晰。借鑒了angularjsçš„declarative的特點(diÇŽn)。 å¦å¤–文檔, 例ååšçš„都很漂亮。 上手比較快, 這些都是很好的優(yÅu)點(diÇŽn)。
jfinal 框架
JFinal 是基于Java 語言的極速 web 開發(fÄ)框架,å…¶æ ¸å¿ƒè¨(shè)計(jì)目標(biÄo)是開發(fÄ)迅速ã€ä»£ç¢¼é‡å°‘ã€å¸(xué)ç¿’(xÃ)ç°¡(jiÇŽn)å–®ã€åŠŸèƒ½å¼·(qiáng)大ã€è¼•é‡ç´š(jÃ)ã€æ˜“æ“´(kuò)展ã€Restfulã€‚åœ¨æ“æœ‰Java語言所有優(yÅu)å‹¢(shì)çš„åŒæ™‚(shÃ)冿“有rubyã€pythonç‰å‹•(dòng)æ…‹(tà i)語言的開發(fÄ)效率。
框架整åˆ
æœ€åˆæ˜¯Struts+ Spring + Hibernate。
åŽä¾†æ¼”變?yÅu)镾truts2 + Spring + Hibernate。
åŽä¾†éš¨è‘—Spring的強(qiáng)大以åŠStrutsæ¼æ´žä¸Šçš„ç‰ç‰å•題,演變æˆç‚ºäº†Spring + SpringMVC + Hibernate/Mybatis 互è¯(lián)ç¶²(wÇŽng)這塊比較常見的是Mybatis。
最近也慢慢演變?yÅu)榱薙pringboot + Mybatis。
相關(guÄn)案例查看更多
相關(guÄn)閱讀
- æ±½è»Šå ±(bà o)廢管ç†
- 云å—建è¨(shè)廳網(wÇŽng)ç«™
- 用戶登錄
- 出入å°ç¨‹åº
- 云å—ç¶²(wÇŽng)絡(luò)營(yÃng)銷
- 云å—ç¶²(wÇŽng)站建è¨(shè)公叿ޒå
- 開發(fÄ)制作å°ç¨‹åº
- 云å—ç¶²(wÇŽng)站建è¨(shè)æœå‹™(wù)å…¬å¸
- painter
- è²´å·žå°ç¨‹åºé–‹ç™¼(fÄ)
- 云å—ç¶²(wÇŽng)站建è¨(shè)百度官方
- ç¶²(wÇŽng)站建è¨(shè)案例
- 云å—ç¶²(wÇŽng)站建è¨(shè)å ±(bà o)價(jià )
- aspç¶²(wÇŽng)ç«™
- 云å—å°ç¨‹åºé–‹ç™¼(fÄ)首é¸å“牌
- 表單
- 云å—å°ç¨‹åºé–‹ç™¼(fÄ)å ±(bà o)價(jià )
- 昆明å°ç¨‹åºè¨(shè)計(jì)
- 云å—ç¶²(wÇŽng)站建è¨(shè)招商
- 云å—ç¶²(wÇŽng)站建è¨(shè)百度
- å°ç¨‹åºè¢«é¨™
- ç¶²(wÇŽng)站優(yÅu)化公å¸
- ç¶²(wÇŽng)站開發(fÄ)å…¬å¸å“ªå®¶å¥½
- 網(wǎng)站制作
- 模版消æ¯
- æ²³å—å°ç¨‹åºåˆ¶ä½œ
- å°ç¨‹åºå•†åŸŽ
- å€(qÅ«)塊éˆ
- ç¶²(wÇŽng)站建è¨(shè)å°ˆæ¥(yè)å“牌
- ç¶²(wÇŽng)站建è¨(shè)å…¬å¸å“ªå®¶å¥½