javaweb開發要學習的所有技術和框架總結
學習javaweb開發要學習的技術和框架總結:
前言:當初想學習javaweb開發的時候,希望能夠全方面地學習(這樣找工作時就胸有成足了)。但是對這個根本不理解,又不認識從事這方面的熟人,所以學習起來無從下手。經過了一年的‘死’學習,從網上,從書本,從視訊裡面深入瞭解了java。想從事java的朋友,只要把這些技術全學會了,哪就業肯定沒有問題了。
前端技術:
HTML, CSS, JAVASCRIPT, JQUERY, AJAX
HTML
“超文字”就是指頁面內可以包含圖片、連結,甚至音樂、程式等非文字元素。
超文字標記語言的結構包括“頭”部分(外語:Head)、和“主體”部分(外語:Body),其中“頭”部提供關於網頁的資訊,“主體”部分提供網頁的具體內容。
CSS
級聯樣式表是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等檔案樣式的計算機語言。
JavaScript
JavaScript一種直譯式指令碼語言,是一種動態型別、弱型別、基於原型的語言,內建支援型別。它的直譯器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在HTML(標準通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
jQuery
jQuery是一個相容多瀏覽器的javascript庫,核心理念是write less,do more(寫得更少,做得更多)。jQuery在2006年1月由美國人John Resig在紐約的barcamp釋出,吸引了來自世界各地的眾多JavaScript高手加入,由Dave Methvin率領團隊進行開發。如今,jQuery已經成為最流行的javascript庫,在世界前10000個訪問最多的網站中,有超過55%在使用jQuery。
AJAX
AJAX即“Asynchronous Javascript And XML”(非同步JavaScript和XML),是指一種建立互動式網頁應用的網頁開發技術。
AJAX = 非同步 JavaScript和XML(標準通用標記語言的子集)。
AJAX 是一種用於建立快速動態網頁的技術。
通過在後臺與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。
Javase
Javase學習是javaee的基礎,不管學習javaee(web)還是javame(安卓),但必須深入學習javase。Javase學習:java語法,陣列,集合,面向物件,異常處理,多執行緒,GUI,註解,泛型,反射,動態代理。
javaee:
xml程式設計,http協議,servlet,jsp,javamail,javabean,el表示式,jstl自定義標籤,會話管理(session,cookie)。
servlet
是在伺服器上執行的小程式。這個詞是在Java applet的環境中創造的, Java applet是一種當作單獨檔案跟網頁一起傳送的小程式,它通常用於在客戶端執行, 結果得到為使用者進行運算或者根據使用者互作用定點陣圖形等服務。
JSP
全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計, 是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。 JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)
檔案(*.htm,*.html)中插入Java程式段(Scriptlet)和JSP標記(tag),從而形成JSP檔案,字尾名為(*.jsp)。
用JSP開發的Web應用是跨平臺的,既能在Linux下執行,也能在其他作業系統上執行。
EL表示式(Expression Language)
目的:為了使JSP寫起來更加簡單。表示式語言的靈感來自於 ECMAScript 和 XPath 表示式語言,它提供了在 JSP 中簡化表示式的方法。
JSTL
(JSP Standard Tag Library,JSP標準標籤庫)是一個不斷完善的開放原始碼的JSP標籤庫, 是由apache的jakarta小組來維護的。JSTL只能執行在支援JSP1.2和Servlet2.3規範的容器上,如tomcat 4.x。在JSP 2.0中也是作為標準支援的。
會話管理(session,cookie):
JavaMail avaMail
顧名思義,提供給開發者處理電子郵件相關的程式設計介面。它是Sun釋出的用來處理email的API。它可以方便地執行一些常用的郵件傳輸。我們可以基於JavaMail開發出類似於Microsoft Outlook的應用程式。
SSH
ssh為 struts+spring+hibernate的一個整合框架,是目前較流行的一種Web應用程式開源框架。
整合SSH框架的系統從職責上分為四層:表示層、業務邏輯層、資料持久層和域模組層,以幫助開發人員在短期內搭建結構清晰、可複用性好、維護方便的Web應用程式。 其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支援,Spring做管理,管理struts和hibernate。
具體做法是:用面向物件的分析方法根據需求提出一些模型,將這些模型實現為基本的Java物件,然後編寫基本的DAO(Data Access Objects)介面,並給出Hibernate的DAO實現, 採用Hibernate架構實現的DAO類來實現Java類與資料庫之間的轉換和訪問,最後由Spring做管理,管理struts和hibernate。
系統的基本業務流程是: 在表示層中,首先通過JSP頁面實現互動介面,負責傳送請求(Request)和接收響應(Response),然後Struts根據配置檔案(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。
在業務層中,管理服務元件的Spring IoC容器負責向Action提供業務模型(Model)元件和該元件的協作物件資料處理(DAO)元件完成業務邏輯,並提供事務處理、緩衝池等容器元件以提升系統性能和保證資料的完整性。
而在持久層中,則依賴於Hibernate的物件化對映和資料庫互動,處理DAO元件請求的資料,並返回處理結果。
採用上述開發模型,不僅實現了檢視、控制器與模型的徹底分離,而且還實現了業務邏輯層與持久層的分離。
這樣無論前端如何變化,模型層只需很少的改動,並且資料庫的變化也不會對前端有所影響,大大提高了系統的可複用性。而且由於不同層之間耦合度小,有利於團隊成員並行工作,大大提高了開發效率。
struts
struts 是開源軟體。使用Struts的目的是為了幫助我們減少在運用MVC設計模型來開發Web應用的時間。
如果我們想混合使用Servlets和JSP的優點來建立可擴充套件的應用,struts是一個不錯的選擇。
Struts 是Apache軟體基金會(ASF)贊助的一個開源專案。它最初是Jakarta專案中的一個子專案,並在2004年3月成為ASF的頂級專案。它通過採用JavaServlet/JSP技術, 實現了基於Java EEWeb應用的MVC設計模式的應用框架,是MVC經典設計模式中的一個經典產品。
spring
spring 是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架, 由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。
它是為了解決企業應用開發的複雜性而建立的。框架的主要優勢之一就是其分層架構, 分層架構允許使用者選擇使用哪一個元件,同時為 J2EE 應用程式開發提供整合的框架。 Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。
從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益。 簡單來說,Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架
hibernate
Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。
Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程式使用,也可以
在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成資料持久化的重任。
Spring MVC
Spring MVC屬於SpringFrameWork的後續產品,已經融合在Spring Web Flow裡面。 Spring 框架提供了構建 Web 應用程式的全功能 MVC 模組。使用 Spring 可插入的 MVC 架構,可以選擇是使用內建的 Spring Web 框架還可以是 Struts 這樣的 Web 框架。通過策略介面,Spring 框架是高度可配置的,而且包含多種檢視技術,例如 JavaServer Pages(JSP)技術、Velocity、Tiles、iText 和POI。Spring MVC 框架並不知道使用的檢視,所以不會強迫您只使用 JSP 技術。
Spring MVC 分離了控制器、模型物件、分派器以及處理程式物件的角色,這種分離讓它們更容易進行定製。
MyBatis
MyBatis本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,
並且改名為MyBatis 。MyBatis 是支援普通 SQL查詢,儲存過程和高階對映的優秀持久層框架。
MyBatis 消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索。
MyBatis 使用簡單的 XML或註解用於配置和原始對映,將介面和 Java 的POJOs(Plain Old Java Objects,普通的 Java物件)對映成資料庫中的記錄。
JBPM
JBPM,全稱是Java Business Process Management(業務流程管理),它是覆蓋了業務流程管理、工作流、服務協作等領域的一個開源的、靈活的、易擴充套件的可執行流程語言框架。 jBPM是公開原始碼專案,使用它要遵循 ASL(Apache License Version 2.0),EULA(JBoss End User License Agreement)協議。
Maven
Maven是基於專案物件模型(POM),可以通過一小段描述資訊來管理專案的構建,報告和文件的軟體專案管理工具。
Maven 除了以程式構建能力為特色之外,還提供高階專案管理工具。由於 Maven 的預設構建規則有較高的可重用性,所以常常用兩三行 Maven 構建指令碼就可以構建簡單的專案。由於 Maven 的面向專案的方法,許多 Apache Jakarta 專案發文時使用 Maven,而且
公司專案採用 Maven 的比例在持續增長。
Lucene
Lucene是apache軟體基金會4 jakarta專案組的一個子專案,是一個開放原始碼的全文檢索引擎工具包,即它不是一個完整的全文檢索引擎,而是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,
部分文字分析引擎(英文與德文兩種西方語言)。Lucene的目的是為軟體開發人員提供一個簡單易用的工具包,
以方便的在目標系統中實現全文檢索的功能,或者是以此為基礎建立起完整的全文檢索引擎。 Lucene是一套用於全文檢索和搜尋的開源程式庫,由Apache軟體基金會支援和提供。 Lucene提供了一個簡單卻強大的應用程式介面,能夠做全文索引和搜尋。
在Java開發環境裡Lucene是一個成熟的免費開源工具。就其本身而言,Lucene是當前以及最近幾年最受歡迎的免費Java資訊檢索程式庫。
對於學習有困難不知道如何提升自己可以加扣:578024144 進行交流得到幫助,獲取 學習資料再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://blog.csdn.net/jiangjunshow