做為一枚Java程序猿,必須掌握什么技術和工具來完成一個JavaWeb新項目呢?今日列舉一些常見技術和工具,這種技術全是我這10年工作上使用的比較多的,我明白技術棧遠遠不止這種,自己只列自身了解和用最多的,進行一個項目肯定夠用。說這么多技術并不是讓大家都要了解,有一些太老的現在會用的減少了根本不用了,自己關鍵融合我這10年項目經驗告訴你們JavaWeb的常見技術棧。

什么叫技術棧? 舉例說明: 開發設計一個普通智能管理系統,要用到Sprin Boot MyBatis Spring Mysql Redis RabbitMq Nginx Vue Shiro html 這些,這種技術連起來就能稱之為技術棧。
我們將技術棧也分為5塊狀:前面、后面、消息中間件、數據庫系統和工具。

JSP全名Java Server Pages,是一種動態網站開發設計技術。它采用JSP標識在HTML頁面中插進Java代碼。
JSP實質上是一個servlet,主要運用于完成Java web應用的程序操作界面一部分。
<%
out.println("Hello World!");
%>
JSP這類網頁頁面技術我想5年以內的程序猿基本上沒接觸過,10年以前我接觸的一個項目前面基本上都采用的JSP技術,jsp相互配合各種各樣html jquery/JavaScript css進行前端頁面開發設計。
DWZ、EasyUI、EXT、BootStrap、KendoUI 都是圍繞根據 HTML、CSS、JavaScript/jquery的一些富文本手機客戶端UI架構,在那個年代簡直就是后端工程師人員的福利。這種架構的特點就是網站上帶來了各種各樣部件使用方法,后面工作人員只需套到JSP頁面上,開展數據渲染就可以。這種UI架構設計風格基本已經固定不動,更合適開發設計一些管理類專業系統軟件,都包括:強悍的數據庫,通用拖拖拉拉(Drag-and-Drop)作用,模版,和UI控制。
是中國人自己研發的根據jQuery達到的Ajax RIA開源框架,設計目標是簡單方便,快速開發,減少ajax項目成本。
官方網站:https://jui.org/

easyui是一種基于jQuery的操作界面外掛結合,為建立智能化,互動交流,JavaScript應用軟件,給予必須的作用。使用easyui你不用寫許多編碼,你只要根據撰寫一些簡易HTML標識,就能界定操作界面,為網站開發時間和經營規模。

官方網站;http://www.jeasyui.com/
ExtJS都是基于YUI(雅虎網操作界面)的sencha的JavaScript架構與產品,它大部分是有著當代UI的桌面應用程序軟件開發平臺。

中文官網:
http://extjs-doc-cn.github.io/ext4api/#!/api/Ext
bootstrap是Twitter推出一個用以前端工程師的開源系統工具包

中文官網:https://www.bootcss.com/
是一套 JavaScript 函式庫,給予抽象概念、可自定的主題 GUI 操縱項與動態效果。根據 jQuery JavaScript 函式庫,主要用來構建互動型的 Web 運用
官方網站:http://www.kendoui.io/
FreeMarker是一個免費的模板模塊,一個根據模版形成文字輸出通用性工具,應用純Java編寫的,用于形成HTML Web網頁頁面,尤其是根據MVC方式的應用軟件。一般由Java程序流程準備要表明的信息,由FreeMarker形成網頁頁面,根據模版表明提前準備的信息(如下圖所示)

FreeMarker不是一個Web應用架構,FreeMarker與器皿不相干,還可以在模版中應用JSP標識庫。
Our latest product:
${latestProduct.name}!
html
上邊許多前端框架都是圍繞html的,想要你有js/jq、css基本,這是所有前端框架的前提。由于光架構有時候并無法滿足我們自己的要求,有時候必須對架構難以實現功能的必須在架構前提下調節;還有這種高速發展的網絡時代,對前面的需求愈來愈高,原生html獲得了迅速發展,基本上全部前面實際效果應用原生態的時候可以達到的。
vue.js 用了根據 HTML 的模版詞法,容許開發人員聲明式地把 DOM 關聯至最底層 Vue 案例的信息。全部 Vue.js 的模版都是違法的 HTML,因此會被遵照標準瀏覽器和 HTML 在線解析分析。
在底層的建立上,Vue 將模版編譯成虛似 DOM 3D渲染函數公式。融合回應系統軟件,Vue 能自動化地算出至少需重新3D渲染是多少部件,然后把 DOM 實際操作頻次降到至少。
VUE elementUI現階段應用數最多的,特別是開發設計一些后臺管理界面或是非常簡單方便快捷的。

servlet是Server Applet的通稱,翻譯出來便是系統服務,簡單講就是是運作在服務器上的一個小程序流程,用于解決網絡服務器要求的。我們可以通過瀏覽器登錄一個運用,在這過程中,大家瀏覽器推送瀏覽要求,網絡服務器接受要求,對其瀏覽器的要求做出對應的解決,這是我們耳熟能詳的B/S實體模型(電腦瀏覽器-網絡服務器實體模型).而servlet便是對要求作出處理的部件,運作于適用Java的網站服務器中。如下圖如果是:

struts主如果指struts1和struts2,是經典MVC架構,去除一些老項目,現在用的也越來越少。但struts1和struts2是有區別的,關鍵差別二者實質不一樣。
struts1:根據選用Java Servlet/JSP技術,完成了根據Java EE Web應使用的Model-View-Controller(MVC)程序設計模式的應用框架,是MVC傳統程序設計模式中的一個傳統商品。
struts2:以WebWork為基礎,選用回調函數機制的去處理客戶請求,這樣的設計也使業務流程程序控制器能夠和ServletAPI徹底擺脫開,因此Struts 2可以看作WebWork的升級商品。
最經典組成strutsMVC SPring Hibernate,稱為SSH,當初全是招聘面試必問的問題技術。
Spring框架是一個開源系統Java應用框架,克服了開發人員在研發過程中遇到的諸多常見的現象,帶來了功能齊全IOC、AOP及Web MVC等服務。Spring可單獨用于應用軟件,還可以和Struts、Webwork等多個Web架構組成應用。Spring框架主要是由七組成,各是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

jdbc
JDBC(Java Data Base Connectivity,java數據庫聯接)是一種用以實行SQL詞句的Java API,能夠為多種多樣關系型數據庫給予統一瀏覽,它是由一組用Java語言編寫的類和接口構成。JDBC提供了一種標準,根據能夠搭建更好的工具和插口,使數據庫系統開發者可以撰寫數據庫應用程序流程。
初期新項目大多數都是根據對JDBC封裝形式來操作數據庫,完成增刪,對特性考慮到不多,隨時間流逝持續催生出許多架構,比如:mybatis,hibernate等。


ibatis
iBATIS一詞來自“internet”和“abatis”的搭配,是一個由Clinton Begin在2001年發起開放源代碼新項目。最開始偏重于密碼軟件的研發,如今是一個根據Java的持久層架構。iBATIS所提供的持久層架構包含SQL Maps和Data Access Objects(DAO),另外還提供一個利用這個框架開發的JPetStore案例。
iBATIS 現階段帶來了三種語言完成版本的,包含:Java、.NET及其Ruby。
mybatis
MyBatis 本是apache的一個開源軟件iBatis, 2010年這樣的項目由apache software foundation 遷移到了google code,而且更名為MyBatis 。
MyBatis 是一款出色的持久層架構,它適用個性化SQL、sql語句及其高端映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。
{n}
{n}{t}MyBatis-Plus
{n}
{n}{t}Mybatis 增強工具包 – 只做增強不做改變,簡化CRUD操作
{n}
{n}{t}JPA
{n}
{n}{t}JPA是Java Persistence API的簡稱,中文名Java持久層API,是JDK 5.0注解或XML描述對象-關系表的映射關系,并將運行期的實體對象持久化到數據庫中。
{n}
{n}{t}Sun引入新的JPA ORM規范出于兩個原因:其一,簡化現有Java






























原創文章,作者:leping,如若轉載,請注明出處:http://www.qdgszy.com/hq-235.html