詳細解釋什麼是JavaEE?

也許你學習了那麼久的Java了,但若是有人問你什麼是JavaEE?你會怎麼回答他呢?在此我來談談關於JavaEE的相關技術。(僅是我的看法)數據庫

在談JavaEE時,咱們首先來了解一下Java平臺。目前,Java平臺有3個版本:適用於小型設備和智能卡的JavaME(Java Platform Micro Edition,Java微型版)、適用於桌面系統的JavaSE(Java Platform Standard Edition,Java標準版)和適用於企業級應用的JavaEE(Java Platform Enterprise Edition)。而JavaEE是一個開發企業級應用的規範和標準,在如今的企業級開發中最爲經常使用,最受人開發者的青睞。服務器

JavaEE應用程序是由組件構成的,也就是說它是基於組件開發的。組件是具備獨立功能的單元,它們經過相關的類和文件組裝成JavaEE應用程序,並與其它組件相交互。一個組件的更改不會影響其它組件,代碼重複減小,重用率高。有利於良好的分工與協做,實現並行開發。若是是用三層結構開發,那麼表示層與數據訪問層相互獨立,所以美工能夠更方便的擴充表示層,使系統具備良好的可擴展性。框架

在JavaEE的技術體系中,也融合了多種框架技術。其中以SSH(Struts+Hibernate+Spring)框架技術最爲出名,這些框架技術表明當前企業(公司)級開發的趨勢。固然,也有些比較出名的框架技術,如:Webwork、JSF、EJB、iBATs等等。各類框架技術是在JavaEE的基礎上造成的,應用程序是在框架技術建立的。所以,要想學好JavaEE,必先學好基於Servlet技術的JavaEE。若是一入門就學SSH框架技術來搭建,就好像一我的還小時就先學走,不是先學爬,這多少有點趕鴨子上架的「味道」。異步

JavaEE的技術結構也體現了分層的原理,與C#三層結構差很少。只是「換湯不換藥」而已,形式變了,核心的技術內容仍是沒有變。咱們在設計一個系統時,一般都會把系統設計成多層(通常是三層)。設計成三層有什麼好處呢?由於任何一個軟件或是系統,有80%左右的時間都是處在後期維護的階段,設計成三層,有利於從此的維護和擴展,也有利於程序的控制和頁面的顯示。學習

JavaEE的技術結構分爲三層,那麼這三層分別是什麼呢?其實與C#差很少,分別是表示層、中間層、數據層。C#中的三層分別是表示層,業務邏輯層、數據訪問層,只是不同的說法,但表達的是同一個意思而已。表示層是用戶界面,中間層包含各類業務邏輯,數據層是完成對數據的存取和封裝。在這三層中,你認爲哪層是最重要的呢?也許你認爲是業務邏輯層,可是答案是錯誤的,正確的答案是表示層。試想,你作出的一個Web系統,界面不美觀、不友好,用戶用都不想用,那還談什麼業務邏輯啊。因此在此我推薦你們,在用三層結構開發一個項目時,首先從表示層入手,先把表示層作好。而後一分析業務邏輯,以後數據訪問的思路也就有了。呵呵……設計

說了那麼久的JavaEE技術,那它有什麼內容呢?各層又是用什麼技術來實現的?我先從表示層提及。orm

表示層技術是在JSP頁面中用HTML標籤、JavaScript腳本、Ajax。須要注意的是,Ajax並非一種技術,而是幾種技術的整合。它採用異步請求的方式,主要功能是向服務器端發送請求,處理數據或者根據返回的數據從新顯示頁面。對象

中間層技術主要是JSP、Servlet、JSTL、JavaBean、Struts框架。其中JSP是顯示動態內容的服務器網頁,Servlet是接收客戶端的請求並做出響應,JSTL是幫助JSP顯示動態內容的標準標籤庫,JavaBean是JavaEE的模型組件。須要注意的是,Struts框架技術主要是擴充了Servlet。在中間層中,Servlet是重要的組成部分,它控制着其它的組件。ip

數據層技術用的是JDBC、JNDI、Hibernate框架。其中,JDBC是傳統的數據庫鏈接方式,JNDI和Hibernate只是擴展了功能,並無徹底替代了JDBC。如今流行的是關係型的數據庫,咱們所用的大多數都是,如:SQL Server、Oracle、MySQL等,Hibernate框架技術是以對象的方式操做關係型的數據庫,以減小內存的使用。內存

另外,還有系統集成技術。當你作Web Service時,就不可避免了。在如今階段,咱們若是用SSH框架技術開發,那麼Spring就是一個系統集成的框架技術,也是在現階段用的最多的系統集成技術。系統集成的JAX-WS技術是JavaEE平臺的重要組成部分,它簡化了使用Java技術開發Web服務的工做。不過,我有點遺憾,不瞭解JAX-WS技術。

說了那麼久了,若是真有時候,有人問你JavaEE是什麼呢時,但願個人看法你看後能用上場

相關文章
相關標籤/搜索