- 搞定J2EE:Struts+Spring+Hibernate整合詳解與典型案例
- 杜聚賓編著
- 1364字
- 2018-12-27 17:52:24
1.1 J2EE概述
J2EE是使用Java技術開發企業級應用的一種事實上的工業標準(但Java及其相關技術并沒有納入標準化組織的體系),它是Java技術不斷適應和促進企業級應用過程中的產物。Java體系共有三個版本:適用于小型設備和智能卡的J2ME、適用于桌面系統的J2SE和適用于企業級應用的J2EE。本書主要講解J2EE。
1.1.1 J2EE的來源
面向對象技術的出現和應用大大提高了軟件的重用性和質量。但如今許多企業都需要擴展他們的業務范圍,降低自身經營成本,縮短他們和客戶之間的響應時間,這就需要在企業、合作伙伴和雇員之間提供一種簡捷、快速的服務,傳統的Client/Server(C/S)結構已經逐漸不能適應新的要求。為了克服傳統C/S結構的弊病,快速設計和開發企業級的應用程序,迎合B/S架構的潮流,Sun公司推出了一種全新概念的模型——J2EE,其英文全稱是Java2 Platform Enterprise Edition,它有著傳統的互聯網應用程序模型不可比擬的優勢。
J2EE為應用Java技術開發服務器端應用提供一個獨立的、可移植的、多用戶的、安全的和基于標準的企業級平臺,從而簡化企業應用的開發、管理和部署。J2EE是一個標準,而不是一個現成的產品。各個平臺開發商按照J2EE規范分別開發了不同的J2EE應用服務器,J2EE應用服務器是J2EE企業級應用的部署平臺。由于它們都遵循了J2EE規范,因此,使用J2EE技術開發的企業級應用可以部署在各種J2EE應用服務器上。
傳統的C/S結構如圖1.1所示,該結構屬于兩層結構,雖然很容易配置,但很難擴展企業的應用和服務。

圖1.1 傳統的C/S結構
為了更好地為企業應用提供服務,使企業應用具有高可用性、安全性、可依賴性和可擴展性,從圖1.1可看出,需要將客戶端中的邏輯處理功能分離出來,從而使客戶端只負責顯示功能。
在1999年底,Sun公司推出了以Java2技術為基礎的J2EE技術規范,該規范提供了與平臺無關的、可移植的、安全的并且完全基于Java技術的服務器端中間件標準。從整體架構來看,應用服務器涵蓋了Web服務器及其他的服務器。J2EE降低了開發中間層服務的成本和復雜程度,因而使得服務可以被快速地展開,并能夠更輕松地面對競爭中的壓力。
1.1.2 J2EE整體框架
J2EE平臺使用了一個多層的分布式應用程序模型。應用程序的邏輯根據其實現的不同功能被封裝到組件中,組成J2EE應用程序的大量應用程序組件根據其所屬的層被安裝到不同的機器中,該模型具有重用組件的能力、基于擴展標記語言的數據交換、統一的安全模式和靈活的事務控制。使用J2EE后的B/S結構如圖1.2所示。

圖1.2 使用J2EE后的B/S結構
從J2EE的B/S結構中可以看出J2EE的運行模式,如圖1.3所示。

圖1.3 J2EE的運行模式圖
1.1.3 從J2EE到JavaEE
實現B/S結構的語言有很多,比如PHP、ASP等,為了對抗PHP、ASP等服務器端語言,Sun公司在1997年發布了Servlet技術和JSP技術,在1998年,Sun公司又發布了EJB1.0標準,至此J2EE平臺的三個核心技術都已經出現。于是,1999年,Sun公司正式發布了J2EE的第一個版本,并于1999年底發布了J2EE 1.2,2001年發布了J2EE 1.3,2003年發布了J2EE 1.4,2005年又發布了J2EE 1.5,即JavaEE。
J2EE 1.4主要包含了Applet容器、Application Client容器、Web容器和EJB容器,并且包含了Web Component,EJB Component,Application Client Component。以JMS,JAAS,JAXP,JDBC,JAF,JavaMail,JTA等技術為基礎,1.4版本增加了對Web服務的支持,主要是Web Service,JAX-RPC,SAAJ,JAXR,并對EJB的消息傳遞機制進行了完善,部署與管理工具的增強,以及新版本的Servlet 2.4和JSP 2.0使得Web應用更加容易。J2EE 1.4的框架圖如圖1.4所示。

圖1.4 J2EE 1.4的框架圖
JavaEE與J2EE 1.4相比,新增了JAX-WS,WS Metadata,Java Persistance,Java Server Faces,JTSL,SIAX等新的技術,JavaEE的框架圖如圖1.5所示。

圖1.5 JavaEE的框架圖
J2EE有兩個重要的概念:組件和容器,下面分別進行介紹。
- 深度實踐OpenStack:基于Python的OpenStack組件開發
- ASP.NET Web API:Build RESTful web applications and services on the .NET framework
- Flink SQL與DataStream入門、進階與實戰
- FreeSWITCH 1.6 Cookbook
- 機械工程師Python編程:入門、實戰與進階
- Scala編程實戰(原書第2版)
- Python程序設計與算法基礎教程(第2版)(微課版)
- Mastering Python Design Patterns
- Arduino可穿戴設備開發
- Illustrator CS6設計與應用任務教程
- Training Systems Using Python Statistical Modeling
- 算法圖解
- Flask Web開發:基于Python的Web應用開發實戰(第2版)
- Visual C++從入門到精通(第2版)
- Effective Python:編寫高質量Python代碼的90個有效方法(原書第2版)