什麼是J2EE

什麼是J2EE

1、準備篇html

1 什麼是J2EE?它和普通的Java有什麼不一樣?
答:J2EE全稱爲Java2 Platform Enterprise Edition。
「J2EE平臺本質上是一個分佈式的服務器應用程序設計環境——一個Java環境,它提供了:
(1)宿主應用的一個運行基礎框架環境。
(2)一套用來建立應用的Java擴展API。」(引自《J2EE服務器端高級編程》)java

2 J2EE好學嗎?
答:J2EE是不少技術的集合體,而且還在成長中。
你會遇到不少專有名詞:好比(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,Web Service……。
尤爲是XML和Web Service正在快速成長。幸運的是,你不須要等到學會全部技術後再開始編程。
大致上J2EE能夠分紅3個主要應用:Servlet/JSP,EJB,XML/Web Service 和一些支撐技術例如JDBC和JNDI。
你能夠一個一個的學。程序員

2、什麼是J2EE,爲何須要J2EEweb

3 J2EE有什麼用?
答:J2EE用來建設大型的分佈式企業級應用程序。或者用更時髦的名詞說就是「電子商務」應用程序。
這些企業可能大到擁有中心數據庫服務器,Web服務器集羣和遍及全國的辦公終端,也可能小到只不過想作一個網站。sql

4 學J2EE有前途嗎?
答:在這一市場目前只有一種技術能夠和J2EE競爭,那就是Microsoft的.NET。
相對來講.NET要「新」一些而J2EE要「老」一些。
可是.NET只能用於Windows平臺(Microsoft聲稱要開發C#在Linux上的虛擬機可是還沒有兌現該諾言),
考慮到Linux的發展勢頭,你能夠相信.NET不會一統天下。數據庫

5 聽說J2EE的性能不如.NET好,是真的嗎?
答:在Sun公司提供的樣例程序Pet Store上,Microsoft聲稱不如相同的.NET程序好。
而Sun公司反駁說這一程序不能真正體現J2EE的性能,而且指責Microsoft在數據庫上作了優化。
做者沒有學習過.NET於是不能妄下斷言。
不管如何,大型分佈式程序中的性能瓶頸一般首先來自於錯誤的設計。apache

6 聽你說了這麼多,我想學着玩玩J2EE。
答:除非你想靠它當飯吃或者做爲技術儲備,不然請不要浪費你的時間。
Flash要好玩得多。計算機遊戲就更加好玩了。編程

7 學習J2EE該怎麼開始?
答:首先,下載一個J2EE服務器。其次,去java.sun.com下載J2EE的API。第三,找一本好的參考書。最後,找一個順手的IDE。
J2EE服務器。你能夠用Sun的J2EE SDK(免費),或者Weblogic(性能最好,可是太大,並且做者不推薦盜版行爲),或者Jboss(免費,就是文檔太少),或者Jrun(開發版免費,做者用這個)。參考書做者感受Wrox的《J2EE服務器端高級編程》不錯,可是太老(做者手頭的是2001年中文版)。你還須要去下載一些最新的技術資料(固然確定是英文的)。
IDE若是你的機器配置夠好(內存至少512M以上,256M或如下請勿考慮),能夠用IBM的WSAD,否則就繼續用Eclipse或者其餘。
你也能夠常常去水木清華的Java版逛逛,可是在發貼前先看看精華區裏有沒有你要的答案。後端

8 我下了一個J2EE服務器可是不會配置。
答:請認真閱讀隨機指導文檔,不一樣的服務器的配置都不同,做者心有餘而力不足。瀏覽器

9 我發現你沒有提到Tomcat。
答:Tomcat只是一個Web服務器,更準確地說主要只是一個Web Container。
若是你想要學習EJB的話,Tomcat沒法知足你的須要。

3、 Servlet/JSP篇

10 什麼是Servlet?
答:一個Servlet是一個Java類。它處理Http(s)請求並做出響應,包括返回一個HTML頁面或轉交給其餘URL處理。
Servlet必須運行在一個Web Container例如Tomcat中。
Servlet必須是javax.servlet.http.HttpServlet的子類,
你能夠繼承doGet()或者doPost()方法,二者分別對應於Http(s)中的Get請求和Post請求。

11 我怎麼得到Http請求裏的參數?
答:HttpRequest的getParameter()方法。例如:String paramValue = request.getParameter("paramName");

12 我怎麼返回結果?
答:你能夠利用相關API打開一個輸出流,並向流中直接寫入一個HTML頁面。
可是做者徹底不同意這樣作。一方面這樣作會很羅嗦。
另外一方面從Model-View-Controller模式(在《J2EE核心模式》中被歸爲Front Controller模式)的觀點來看,
你應當提供一些HTML或者JSP做爲視圖(view),而Servlet則根據請求參數決定轉到哪個視圖。
你能夠利用response.sendRedirect(…)方法或request.getDispatcher(…).forward()方法來實現。

13 sendRedirect()和forward()有什麼不一樣?
答:sendRedirect()是向瀏覽器發送一個redirect通知,瀏覽器重定向到新的URL。
而forward是在服務器端直接轉到新的URL,對於瀏覽器是透明的。
前者瀏覽器的地址欄顯示的是新的URL,後者瀏覽器的地址欄顯示的是Servlet的URL。
於是當目標URL會自動刷新時,二者會形成一些差異。

14 我寫了一個Servlet程序,怎麼運行它?
答:開發J2EE程序有一個部署(deploy)的概念,其實是開發——部署——運行的三部曲。
大多數服務器支持Hot deploy。你只須要在相應的Application目錄(具體路徑依賴於服務器)下面
創建一個符合WAR或EAR格式(參見16,17)的目錄,啓動服務器,就能夠經過瀏覽器訪問了。
特別的,你的Servlet的class文件應當放在/WEB-INF/classes目錄中。
注意J2EE SDK不支持Hot deploy,你須要經過它的deploy tool來部署。
Tomcat只支持WAR格式。

15 EAR和WAR有什麼不一樣?
答:EAR是一個完整的J2EE應用程序,包括Web部分和EJB部分。
WAR只是其中的Web部分。

16 EAR格式是怎樣的?
答:一個EAR能夠包含任意多個WAR或EJB JAR,而且包含一個META-INF的目錄。
在/META-INF中包含了一個application.xml,其中描述了這個EAR包含哪些模塊,以及安全性配置。
細節請看參考書。

17 WAR格式是怎樣的?
答:一個WAR包含一個WEB-INF的目錄,這個目錄下包含classes目錄,lib目錄和web.xml。
/WEB-INF/classes存放按package組織的class文件,/WEB-INF/lib目錄存放jar文件,
web.xml描述了不少東西,請讀參考書。

18 個人普通HTML文件應當放在哪裏?
答:放在除了/WEB-INF之外的其餘地方。

19 我訪問不到servlet,甚至連HTML文件都訪問不到!
答:第一你沒啓動服務器。第二你敲錯了端口。第三你沒有正確配置context-path。
第四你的服務器不支持auto reload或者你關閉了這一選項,你得重啓服務器。
第五確認你沒有把HTML放在/WEB-INF目錄下,那是訪問不到的。

20 我能訪問HTML可是訪問不到servlet。
答:請檢查你的web.xml文件。確保你正肯定義了 元素。
前者標識了一個servlet,後者將一個相對於context-path的URL映射到一個servlet。
在Tomcat中你能夠經過/context-path/servlet/package/servletname的形式訪問servlet,
可是這只是Tomcat的便捷訪問方式,並非正式規範。
細節請看參考書。

21 什麼是JSP?它和Servlet有什麼區別?
答:你能夠將JSP當作一個可擴充的HTML來對待。
雖然在本質上JSP文件會被服務器自動翻譯爲相應的Servlet來執行。
能夠說Servlet是面向Java程序員而JSP是面向HTML程序員的,除此以外二者功能徹底等價。

22 個人JSP顯示的漢字是亂碼。
答:在你的JSP開頭加上一行 <%@ page contentType="text/html; charset=gb2312"%>
若是你已經聲明瞭page我想你知道該怎麼修改。

23 JSP文件存放在哪裏?
答:除了/WEB-INF下的任何地方。

24 在JSP裏面怎麼引用Java Bean。
答:首先,確認你要引用的類在/WEB-INF/classes下或在/WEB-INF/lib的某個jar內。
其次,在JSP里加一行
具體解釋請看參考書。

25 我想在servlet間傳遞數據。
答:利用session。在Servlet/JSP中,你能夠在4個地方保存數據。

(1) page,本頁面。

(2) session,用來存放客戶相關的信息,好比購物車,對應接口爲javax.servlet.http.HttpSession。
Session機制其實是cookie和URL Rewrite的抽象,服務器會自動使用cookie或URL Rewrite來實現。

(3) request,能夠在forward()時傳遞信息,對應接口爲javax.servlet.http.HttpRequest。

(4) application,或稱context,存放全局信息,對應接口爲javax.servlet.ServletContext。

26 怎麼調用cookie?
答:做者建議使用session,你老是會遇到某些禁用cookie的用戶。這時session會自動使用URL重寫來實現。

27 怎麼在JSP裏面實現文件下載?
答:實際上這是一個HTML的問題。答案是一個超連接

28 怎麼實現文件上傳?
答:客戶端是HTML問題,在form中設置method爲post,enctype爲multi-part/form-data,加一個
而在接收的servlet中只是一個I/O問題。

29 我想讓頁面自動刷新,好比聊天室。
答:這是一個HTML問題,在部分中加一條
這是所謂的Clinet-push,客戶端刷新技術。

30 我想讓用戶登陸之後才能訪問頁面。
答:使用聲明式安全措施。
你只須要在web.xml中定義安全角色(Role),並定義受保護的URL集合只能由特定Role訪問。
大多數服務器支持基於數據庫的用戶映射,你只要在相應數據庫中創建兩張表並配置服務器就能夠了。
注意J2EE SDK不支持基於數據庫的用戶映射。
細節請看參考書和服務器文檔。

31 我想要能註冊用戶。
答:參看30。在接受註冊請求的Servlet中執行寫入數據庫操做便可。

32 怎麼在JSP中訪問數據庫?
答:標準作法是使用DAO模式,定義一個Java bean來訪問數據庫並在JSP中使用。
然而,當你的數據庫模式很簡單時,你可使用JSTL中的 標籤來快速訪問。

33 什麼是JSTL?
答:JSTL是Jsp Standard Tag Library的縮寫。這是一組通用標籤並將成爲JSP 2.0的一部分。
其中包含賦值 ,分支 ,循環 ,查詢數據庫 ,更新數據庫
等。目前你須要像添加自定義標籤庫同樣來添加JSTL,可是能夠預計JSP 2.0會將JSTL做爲組成部分。
標籤庫能夠在 http://jakarta.apache.org 下載。注意JSTL須要在支持JSP1.2或更高版本的容器下運行。幫助文件能夠閱讀sun的JSTL正式規範。

如何纔算掌握Java(J2SE篇)?
  Java自己是一種設計的很是簡單,很是精巧的語言,因此Java背後的原理也很簡單,歸結起來就是兩點:
  一、JVM的內存管理
  理解了這一點,全部和對象相關的問題通通都能解決
  二、JVM Class Loader
  理解了這一點,全部和Java相關的配置問題,包括各類App Server的配置,應用的發佈問題通通都能解決

時常看到一些人說掌握了Java,可是讓他們用Java作一個實際的項目可能又困難重重,在這裏,筆者根據本身的一點理解斗膽提出本身的一些對掌握Java這個說法的標準,固然對於新手,也能夠提供一個須要學習哪些內容的參考。另外這個標準僅限於J2SE部分,J2EE部分的內容有時間再另說。

一、語法:必須比較熟悉,在寫代碼的時候IDE的編輯器對某一行報錯應該可以根據報錯信息知道是什麼樣的語法錯誤而且知道任何修正。
二、命令:必須熟悉JDK帶的一些經常使用命令及其經常使用選項,命令至少須要熟悉:appletviewer、HtmlConverter、jar、java、javac、javadoc、javap、javaw、native2ascii、serialver,若是這些命令你沒有所有使用過,那麼你對java實際上還很不瞭解。
三、工具:必須至少熟練使用一種IDE的開發工具,例如Eclipse、Netbeans、Jbuilder、Jdeveloper、IDEA、Jcreator或者Workshop,包括進行工程管理、經常使用選項的設置、插件的安裝配置以及進行調試。
四、API:Java的核心API是很是龐大的,可是有一些內容筆者認爲是必須熟悉的,不然不可能熟練的運用Java,包括:
1)、java.lang包下的80%以上的類的功能的靈活運用。
2)、java.util包下的80%以上的類的靈活運用,特別是集合類體系、規則表達式、zip、以及時間、隨機數、屬性、資源和Timer。
3)、java.io包下的60%以上的類的使用,理解IO體系的基於管道模型的設計思路以及經常使用IO類的特性和使用場合。
4)、java.math包下的100%的內容。
5)、java.net包下的60%以上的內容,對各個類的功能比較熟悉。
6)、java.text包下的60%以上的內容,特別是各類格式化類。
7)、熟練運用JDBC。
8)、java.security包下40%以上的內容,若是對於安全沒有接觸的話根本就不可能掌握java。
9)、AWT的基本內容,包括各類組件事件、監聽器、佈局管理器、經常使用組件、打印。
10)、Swing的基本內容,和AWT的要求相似。
11)、XML處理,熟悉SAX、DOM以及JDOM的優缺點而且可以使用其中的一種完成XML的解析及內容處理。
五、測試:必須熟悉使用junit編寫測試用例完成代碼的自動測試。
六、管理:必須熟悉使用ant完成工程管理的經常使用任務,例如工程編譯、生成javadoc、生成jar、版本控制、自動測試。
七、排錯:應該能夠根據異常信息比較快速的定位問題的緣由和大體位置。
八、思想:必須掌握OOP的主要要求,這樣使用Java開發的系統才能是真正的Java系統。
九、規範:編寫的代碼必須符合流行的編碼規範,例如類名首字母大寫,成員和方法名首字母小寫,方法名的第一個單詞通常是動詞,包名所有小寫等,這樣程序的可讀性才比較好。

什麼是J2EE

J2EE: 電子商務和信息技術的快速發展以及對它們的需求給應用程序開發人員帶來了新的壓力。
必須以比之前更少的金錢、更少的資源來更快地設計、開發企業應用程序。爲了下降成本,並加快企業應用程序的設計和開發, J2EE 平臺提供了一個基於組件的方法,來設計、開發、裝配及部署企業應用程序。J2EE 平臺提供了多層的分佈式的應用模型、組件再用、一致化的安全模型以及靈活的事務控制。您不只能夠用比之前更快的速度向市場推出創造性的客戶解決方案,並且您的平臺獨立的、基於組件的J2EE 解決方案不會被束縛在任何一個廠商的產品和API 上。
1 J2EE 規範定義瞭如下種類的組件
• 應用客戶組件。
• Enterprise JavaBeans 組件。
• Servlet及JavaServer Pages(JSP 頁面)組件(也被稱做Web 組件)。
• Applet。
一個多層的分佈式的應用模型意味着應用邏輯被根據功能劃分紅組件,而且能夠在同一個
服務器或不一樣的服務器上安裝組成J2EE 應用的這些不一樣的組件。一個應用組件應被安裝在什麼
地方,取決於該應用組件屬於該多層的J2EE 環境中的哪一層。這些層是客戶層、We b層、業務
層及企業信息系統層( EIS )等。

(1) 客戶層
J2EE 應用能夠是基於Web 的,也能夠是不基於Web 的。在一個基於Web 的J2EE 應用中,用戶的瀏覽器在客戶層中運行,並從一個We b服務器下載Web 層中的靜態HTML 頁面或由J S P或Servlet 生成的動態HTML 頁面。在一個不基於Web 的J2EE 應用程序中,一個獨立客戶程序不運行在一個HTML 頁面中,而是運行在其餘一些基於網絡的系統(好比手持設備或汽車電話)中,Applet 程序,在客戶層中運行,並在不通過Web 層的狀況下訪問Enterprise Beans。這個不基於Web 的客戶層可能也包括一個JavaBeans 類來管理用戶輸入,並將該輸入發送到在企業層中運行的Enterprise Beans類來進行處理。根據J2EE 規範,JavaBeans 類不被視爲組件。爲J2EE 平臺編寫的JavaBeans 類有實例變量和用於訪問實例變量中的數據的「 get 和set 方法」。以這種方式使用的JavaBeans 類在設計和實現上一般都是簡單的,可是它們必須符合JavaBeans 規範中列出的命名和設計約定。

(2) Web 層
J2EE Web 組件能夠由JSP 頁面、基於Web 的A p p l e t以及顯示HTML 頁面的S e r v l e t組成。調用S e r v l e t或者JSP 頁面的HTML 頁面在應用程序組裝時與Web 組件打包在一塊兒。就像客戶層同樣,Web 層可能包括一個JavaBeans 類來管理用戶輸入,並將輸入發送到在業務層中運行的Enterprise Beans 類來進行處理。運行在客戶層的Web 組件依賴容器來支持諸如客戶請求和響應及Enterprise Bean 查詢等。

(3) 業務層
做爲解決或知足某個特定業務領域(好比銀行、零售或金融業)須要的邏輯的業務代碼由運行在業務層的Enterprise Beans 來執行。一個Enterprise Bean 從客戶程序處接收數據,對數據進行處理(若是須要),再將數據發送到企業信息系統層存儲起來。一個Enterprise Beans 還從存儲中檢索數據,並將數據送回客戶程序。運行在業務層的Enterprise Beans 依賴於容器來爲諸如事務、生命期、狀態管理、多線程及資源存儲池等提供一般都很是複雜的系統級代碼。業務層常常被稱做Enterprise JavaBeans (EJB )層。業務層和Web 層一塊兒構成了3 層J 2 E E應用的中間層,而其餘兩層是客戶層和企業信息系統層。

(4) 企業信息系統層
企業信息系統層運行企業信息系統軟件,這層包括企業基礎設施系統,例如企業資源計劃(E R P)、大型機事務處理( mainframe transactionprocessing )、數據庫系統及其餘遺留信息系統(legacy informationsystems )。J2EE 應用組件由於某種緣由( 例如訪問數據庫) 可能須要訪問企業信息系統。J2EE 平臺的將來版本將支持Connector 架構,該架構是將J2EE 平臺鏈接到企業信息系統上的一個標準A P I。

(5) 查詢服務
由於一個J2EE 應用程序的組件是單獨運行的,而且每每在不一樣的設備上運行,所以,須要一種能讓客戶層和Web 層代碼查詢並引用其餘代碼和資源的方法。客戶層和Web 層代碼使用Java 命名和目錄接口(JNDI )來查詢用戶定義的對象(例如Enterprise Beans )、環境條目(例如一個數據庫驅動器的位置)、企業信息系統層中用於查找資源的JDBC DataSource對象,以及消息鏈接。

(6) 安全和事務管理
諸如安全和事務管理這樣的應用行爲能夠在部署時在Web 和Enterprise Beans 組件上進行配置。這個特徵將應用邏輯從可能隨裝配而變化的配置設定中分開了。J2EE 安全模型容許配置一個Web 或Enterprise Beans 組件,使系統資源只能由受權的用戶訪問。例如,一個Web 組件能夠被配置成提示輸入用戶名和密碼。一個Enterprise Beans 組件能夠被配置成只讓特定團體中的成員調用其某些方法。或者,一個Servlet 組件能夠被配置成讓某個組織中的全部人都能訪問其某些方法,同時只讓該組織中的某些享有特權的人訪問其中一些方法。一樣是該Servlet 組件,能夠針對另一個環境而被配置成讓每一個人都能訪問其全部方法,或者僅讓選定的少數人訪問其全部方法。
J2EE 事務模型使得可以在部署時定義構成一個單一事務的方法之間的關係,以使一個事務中的全部方法被處理成一個單一的單元。這是咱們所但願的,由於一個事務是一系列步驟,這些步驟要麼所有完成,要麼所有取消。例如,一個Enterprise Beans 可能有一組方法,使咱們能夠經過從第一個帳戶借出並存入第二個帳戶的方式而將錢從第一個帳戶轉移到第二個帳戶。咱們但願所有的操做被做爲一個單元對待,這樣,若是在借出以後存入以前發生了故障,該借出操做被取消。事務屬性是在裝配期間定義在一個組件上的。這使得能未來自多個應用組件的方法歸到一個事務中,這說明,咱們能夠輕易變動一個J2EE 應用程序中的應用組件,並從新指定事務屬性,而沒必要改變代碼或從新編譯。在設計應用組件時,要記住,儘管Enterprise Beans 有一個可以使應用組件的容器自動啓動多步事務的機制,可是Applet 和應用的客戶容器可能並不支持這一點。然而, Applet 和應用客戶容器老是可以調用支持這一點的一個Enterprise Beans。還應當注意, JSP 頁面和Servlet 沒有被設計成是事務的,它們一般應當將事務工做交給一個Enterprise Bean 來完成。然而,若是事務工做在一個JSP 頁面或Servlet 中是必須的,那麼此種工做也應當是很是有限的。

(7) 可重用應用組件
J2EE 組件(Applet 、應用的客戶、Enterprise Beans 、JSP 頁面及Servlet )都被打包成模塊,並以Java Archive (JAR )文件的形式交付。一個模塊由相關的組件、相關的文件及描述如何配置組件的配置描述文件組成。例如,在組裝過程當中,一個HTML 頁面和Servlet 被打包進一個模塊之中,該模塊包含H T M L文件、Servlet 組件及相關的配置描述文件,並以一個Web Archive(WAR )文件的形式交付,該WAR 文件是一個帶.war 擴展名的標準JAR 文件。模塊的使用使得利用相同組件中的某些組件來組裝不一樣的J2EE 應用程序成爲可能。例如,一個J2EE 應用程序的Web 版可能有一個Enterprise Beans 組件,還有一個JSP 頁面組件。該Enterprise Beans 組件能夠與一個應用客戶組件結合,以生成該應用程序的非Web 版本。這不須要進行額外的編碼,只是一個裝配和部署的問題。而且,可重用組件使得將應用開發和部署過程劃分紅由不一樣的角色來完成成爲可能,這樣,不一樣的人或者公司就能完成封裝和部署過程的不一樣部分。

  1. J2EE 平臺定義了以下角色:

(1) J2EE 產品提供商
設計並使J2EE 平臺、API 和在J2EE 規範中定義的其餘特徵能被其餘公司或人購得的公司。

(2) 應用組件提供商
建立用於J2EE 應用程序的Web 組件、Enterprise Beans 組件、Applet 或應用客戶程序的公司或我的。在裝配過程當中,應用組件文件、接口及類被打包進一個JAR 文件中。

(3) 應用程序裝配商
從組件提供商得到應用組件JAR 文件,並將它們組裝成一個J2EE 應用的Enterprise Archive(E A R)文件的公司或我的,這種文件是一個帶. E a r擴展名的標準文件。應用裝配商提供與該應用程序相關的總體信息,並使用驗證工具來檢驗EAR 文件的內容是正確的。組裝和部署信息存儲在一個基於文本的配置描述文件中,此種文件使用XML 標記來標記該文本。應用裝配商可使用一個能經過交互式選擇來正確添加XML 標記的裝配和配置工具來編輯該配置描述文件。

(4) 部署商
部署( d e p l e y)J2EE 應用程序的公司或我的。其職責包括設定事務控制、安全屬性,並根據應用組件提供商提供的指示來標明一個Enterprise Bean 是本身處理自身的存儲,仍是由一個容器來處理等。部署涉及配置和安裝。在配置過程當中,部署商遵循應用組件提供商提供的指示來解決外部依賴問題,定義安全設定,以及分配事務屬性。在安裝過程當中,部署商將應用組件安裝到服務器上,並生成容器特定的類和接口。

(5) 系統管理員
配置並管理運行J2EE 應用程序的計算環境和網絡基礎設施,並監督運行環境的人員。

(6) 工具提供商
生產被組件提供商、裝配商及部署商使用的用於進行開發、組裝和打包的工具的公司或我的。

(7) 設計用戶界面和引擎

在爲J2EE 應用程序設計用戶界面和後端引擎時,須要決定讓該程序是基於We b,仍是不基於We b。在作出這個決定時,咱們可能但願考慮平臺配置、下載速度、安全、網絡流量和網絡服務。

例如,包含有用戶界面而且常常被大量用戶訪問的一個Applet 可能須要花很長的時間才能被下載下來,這讓用戶沮喪。然而,若是知道該A p p l e t要運行在一個公司的內部網內的受控環境中,那麼,在這種狀況下,該Applet 將擁有一個徹底可接受的下載速度。另外一個考慮是,繁重的處理應當在哪裏執行。例如,若是客戶程序在一個蜂窩電話或呼機中執行,服務器應當完成儘可能多的計算和數據處理,而客戶程序只應顯示結果就能夠了。然而,設計在一個強大的臺式機平臺上運行的大型財務分析系統則應當在客戶機上完成其複雜計算。應用的客戶程序和A p p l e t用戶界面一般都是用Swing API 建立的,該API 可從標準版J a v a 2平臺中得到。Swing API 提供了一整套GUI 組件(表格、樹形結構、按鈕等),這些組件能夠被用來實現一種比用一個典型的HTML 頁面所能實現的更爲交互的體驗。Swing 也支持HTML 文本組件,這個組件能夠被用來顯示來自一個服務器的響應。客戶程序能夠直接訪問Enterprise Beans 層或企業信息系統層。但應謹慎實現這種程序。

繞過EJB 層的程序可使用JDBC API 來訪問一個關係型數據庫,但應被限制於對數據庫表格進行維護等管理任務上。

參考:原文連接

相關文章
相關標籤/搜索