分类: SUN

SUN

  • SCJD認證介紹

    什麼是SCJD?

     Sun Certified Java Developer (SCJD) SCJD則進一步測試您用Java開發應用程式的功力:您必須先完成一個程式設計的專案,再回答跟此專案相關的幾個問題。

        SCJD有什麼好處? 

            通過 Sun 任何一門專業認證後,您將會收到 Sun Microsystems 總公司寄發的資格證書及徽章,並有權將通過 Sun 認證的標記印在個人名片上,代表個人技術能力的肯定。

       SCJD需要什麼背景? 

            需通過SCJP及SCJD程式設計題。

        如何成為SCJD? 

            通過SCJP,SL-300 Java Programming Workshop。題目均為英文, 並以電腦作答,考生可攜帶英文字典(電子字典除外)或計算機。 共有兩種考試,一為程式設計題,通過程式測試即可,考試時間不限,費用為7500元;另一為5-10題簡答題,答對70%以上即可,考試時間90分鐘,費用為5000元。

            考生可向Sun教育訓練中心或Sun授權訓練中心購買准考證(Certification Voucher), Sun教育訓練中心電話 (02)2514-1155 。或至 資策會洽詢,其教育訓練處電話為 (02)2708-9215分機277 。

        SCJD考試日期 

             考試時間為每週一至週五, 上午十點至下午五點, 例假日除外。

     <<以上內容由恆逸資訊提供>>

  • 學習Java語言的重要含義

    1. Java是目前使用最為廣泛的網絡編程語言之一。它具有簡單,面向對象,穩定,與平台無關,解釋型,多線程,動態等特點。

         2.簡單Java語言簡單是指這門語言既易學有好用。不要將簡單誤解為這門語言很乾癟。你可能很贊同這樣的觀點英語要比阿了伯語言容易學。但這並不意味著英語就不能表達丰富的內容和深刻的思想,許多文學若貝爾獎的作品都是英文寫的。如果你學習過C++語言,你會感覺Java很眼熟,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,但不要誤解為Java是C++的增強版,Java和C++是兩種完全不同的語言,他們各有各的優勢,將會長期並存下去,Java語言和C++語言已成為軟件開發者應當掌握的語言。如果從語言的簡單性方面看,Java要比C++簡單,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚更容易理解的方式實現,例如, Java不再有指針的概念。

         3.面向對象基於對象的編程更符合人的思維模式,使人們更容易編寫程序。在實際生活中,我們每時每刻都與對像在打交道。我們用的鋼筆,騎的自行車,乘的公共汽車等。而我們經常見到的卡車,公共汽車,轎車等都會涉及以下幾個重要的物理量可乘載的人數,運行速度,發動機的功率,耗油量,自重,輪子數目等。另外,還有幾個重要的功能加速功能,減速功能,剎車,轉彎功能等。我們也可以把這些功能稱作是他們具有的方法,而物理量是它們的狀態描述。僅僅用物理量或功能不能很好的描述它們。在現實生活中,我們用這些共有的屬性和功能給出一個概念機動車類。一個具體的轎車就是機動車類的一個實例對象.Java語言與其它面向對象語言一樣,引入了類的概念,類是用來創建對象的模板,它包含被創建的對象的狀態描述和方法的定義。

         4.與平台無關與平台無關是Java語言最大的優勢。其它語言編寫的程序面臨的一個主要問題是操作系統的變化,處理器升級以及核心系統資源的變化,都可能導致程序出現錯誤或無法運行。 Java的虛擬機成功地解決了這個問題,Java編寫的程序可以在任何安裝了Java虛擬機JVM的計算機上正確的運行,Sun公司實現了自己的目標“一次寫成,處處運行”。

         5.解釋型我們知道C,C++等語言,都是只能對特定的CPU芯片進行編譯,生成機器代碼,該代碼的運行就和特定的CUP有關。例如,在C語言中,我們都碰到過類似下面的問題int型變量的值是10 ,那麼下面代碼的輸出結果是什麼呢printf(“%d,%d”,x,x=x+1 )如果上述語句的計算順序是從左到右,結果是10,11但是,有些機器會從右到左計算,那麼結果就是11,11.Java不像C++,它不針對特定的CPU芯片進行編譯,而是把程序編譯為稱做字節碼的一個“中間代碼”。字節碼是很接近機器碼的文件,可以在提供了Java虛擬機JVM的任何系統上被解釋執行。 Java被設計成為解釋執行的程序,即翻譯一句,執行一句,不產生整個的機器代碼程序。翻譯過程如果不出現錯誤,就一直進行到完畢,否則將在錯誤處停止執行。同一個程序,如果是解釋執行的,那麼它的運行速度通常比編譯為可執行的機器代碼的運行速度慢一些。但是,對Java來說,二者的差別不太大,Java的字節碼經過仔細設計,很容易便能使用JIT即時編譯方式編譯技術將字節碼直接轉化成高性能的本地機器碼,Sun公司在Java 2發行版中提供了這樣一個字節碼編譯器——JIT(Just In Time),它是Java虛擬機的一部分。 Java運行系統在提供JIT的同時仍具有平台獨立性,因而“高效且跨平台”對Java來說不再矛盾。如果把Java的程序比做“漢語”的話,字節碼就相當於“世界語”,世界語不和具體的“國家”關,只要這個“國家”提供了“翻譯”,就可以再快速地把世界語翻譯成本地語言。

         6.多線程Java的特點之一就是內置對多線程的支持。多線程允許同時完成多個任務。實際上多線程使人產生多個任務在同時執行的錯覺,因為,目前的計算機的處理器在同一時刻只能執行一個線程,但處理器可以在不同的線程之間快速地切換,由於處理器速度非常快,遠遠超過了人接收信息的速度,所以給人的感覺好像多個任務在同時執行。 C++沒有內置的多線程機制,因此必須調用操作系統的多線程功能來進行多線程程序的設計。

         7.安全當你準備從網絡上下載一個程序時,你最大的擔心是程序中含有惡意的代碼,比如試圖讀取或刪除本地機上的一些重要文件,甚至該程序是一個病毒程序等。當你使用支持Java的瀏覽器時,你可以放心地運行Java的小應用程序Java Applet ,不必擔心病毒的感染和惡意的企圖,Java小應用程序將限制在Java運行環境中,不允許它訪問計算機的其它部分。

         8.動態Java程序的基本組成單元就是類,有些類是自己編寫的,有一些是從類庫中引入的,而類又是運行時動態裝載的,這就使得Java可以在分佈環境中動態地維護程序及類庫,而不像C++那樣,每當其類庫升級之後,相應的程序都必須重新修改,編譯。

  • 寫Java程序的三十個基本規則

    (1)類名首字母應該大寫。字段、方法以及對象(句柄)的首字母應小寫。對於所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如: ThisIsAClassName
     thisIsMethodOrFieldName
    若在定義中出現了常數初始化字符,則大寫static final基本類型標識符中的所有字母。這樣便可標誌出它們屬於編譯期的常數。
    Java包(Package)屬於一種特殊情況:它們全都是小寫字母,即便中間的單詞亦是如此。對於域名擴展名稱,如com,org,net或者edu等,全部都應小
    寫(這也是Java 1.1和Java 1.2的區別之一)。
    (2)為了常規用途而創建一個類時,請採取“經典形式”,並包含對下述元素的定義:
     equals()
     hashCode()
     toString()
     clone()(implement Cloneable)
     implement Serializable
    (3)對於自己創建的每一個類,都考慮置入一個main(),其中包含了用於測試那個類的代碼。為使用一個項目中的類,我們沒必要刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個示例使用。
    (4)應將方法設計成簡要的、功能性單元,用它描述和實現一個不連續的類接口部分。理想情況下,方法應簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個方法。這樣做也便於類內代碼的重複使用(有些時候,方法必須非常大,但它們仍應只做同樣的一件事情)。

    (5)設計一個類時,請設身處地為客戶程序員考慮一下(類的使用方法應該是非常明確的)。然後,再設身處地為管理代碼的人考慮一下(預計有可能進行哪些形式的修改,想想用什麼方法可把它們變得更簡單)。
    (6)使類盡可能短小精悍,而且只解決一個特定的問題。下面是對類設計的一些建議:
    1.一個複雜的開關語句:考慮採用“多形”機制
    2.數量眾多的方法涉及到類型差別極大的操作:考慮用幾個類來分別實現
    3.許多成員變量在特徵上有很大的差別:考慮使用幾個類。
    (7)讓一切東西都盡可能地“私有”——private。可使庫的某一部分“公共化”(一個方法、類或者一個字段等等),就永遠不能把它拿出。若強行拿出,就可能破壞其他人現有的代碼,使他們不得不重新編寫和設計。若隻公佈自己必須公佈的,就可放心大膽地改變其他任何東西。在多線程環境中 ,隱私是特別重要的一個因素——只有private字段才能在非同步使用的情況下受到保護。
    (8)謹惕“巨大對象綜合症”。對一些習慣於順序編程思維、且初涉OOP領域的新手,往往喜歡先寫一個順序執行的程序,再把它嵌入一個或兩個巨大的對象裡。根據編程原理,對象表達的應該是應用程序的概念,而非應用程序本身。
    (9)若不得已進行一些不太雅觀的編程,至少應該把那些代碼置於一個類的內部。
    (10)任何時候只要發現類與類之間結合得非常緊密,就需要考慮是否採用內部類,從而改善編碼及維護工作(參見第14章14.1.2小節的“用內部類改進代碼”)。

    (更多…)

  • Java開發者的堅守的基本原則

    有許多標準和實踐準則可適用於Java開發者,但此處要說的,是每個Java開發者需堅守的基本原則。

      一、為代碼加註釋。雖然每個人都知道這點,但有時卻不自覺忘了履行,今天你“忘了”加註釋了嗎?雖然註釋對程序的功能沒什麼“貢獻”,但過一段時間,比如說兩星期之後或者更長,回過頭來看看自己的代碼,說不定已經記不住它是乾什麼的了。假如這些代碼是你個人的,那還算是走運了,不幸的是,當然了,大多數時候都是別人的不幸,很多時候大家都是在為公司寫代碼,寫代碼的人也許早已經離開了公司,但別忘了一句古話,有來有往嘛,為他人,也為我們自己,請為你的代碼加上註釋。
      二、不要讓事情複雜化。程序員有時候總是對簡單問題想出複雜的解決方案,比如說,在只有五個用戶的程序中引入EJB、對程序實現了並不需要的框架(framework),之類的還有屬性文件、面向對象解決方案、多線程等等。為什麼要這樣做呢?也許我們並不知道是否這樣會更好,但這樣做也許可以學到一些新東西,或者讓自己更感愛好一些。假如是不知道為什麼這樣做,建議多請教經驗豐富的程序員,假如是為了個人的目的,麻煩讓自己更專業一點。
    三、始終牢記——“少即是好(Less is more)並不總是對的”。代碼效率雖然很重要,但在許多解決方案中,編寫更少的代碼並不能改善這些代碼的效率,請看下面這個簡單的例子:
             
                 if(newStatusCode.equals(“SD”) && (sellOffDate == null ||
                todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
                todayDate.compareTo(lastUsedDate)>0)) ||
                (newStatusCode.equals(“OBS”) && (OBSDate == null ||
                todayDate.compareTo(OBSDate)<0))){
                newStatusCode = “NYP”;
                } 
             
    能看明白if條件語句是乾什麼的嗎?能想出來是誰寫的這段代碼嗎?假如把它分成兩段獨立的if語句,是不是更輕易理解呢,下面是修改後的代碼:
             
                 if(newStatusCode.equals(“SD”) && (sellOffDate == null ||
                todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
                todayDate.compareTo(lastUsedDate)>0))){
                newStatusCode = “NYP”;
                }else
                if(newStatusCode.equals(“OBS”) && (OBSDate == null ||
                todayDate.compareTo(OBSDate)<0))
                {
                newStatusCode = “NYP”;
                } 
             是不是讀起來輕易多了呢,在此只是多加了一個if和兩個花括號,但代碼的可讀性與可理解性就一下子提高了一大截。
      四、請不要硬編碼。開發者經常有意“忘記”或忽略掉這點,因為有些時候開發日程逼得實在太緊。其實,多寫一行定義靜態變量的代碼能花多少時間呢?
                public class A {
                public static final String S_CONSTANT_ABC = “ABC”;
                public boolean methodA(String sParam1){
                if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){
                return true;
                }
                return false;
                }
                } 
             

    現在,每次需要將“ABC”與其他變量進行比較時,不必記住實際代碼,直接引用A.S_CONSTANT_ABC就行了,而且在今後需要進行修改時,也可在一處修改,不會翻遍整個源代碼逐個修改了。
    五、不要“創造”自己的框架(framework)。確切來說,有數以千計的各種框架存在,而且大多數是開源的,這些框架都是優秀的解決方案,可用於日常程序開發中,我們只需使用這些框架的最新版本就行了,至少表面上要跟上形勢吧。被大家廣為接受的最為明顯的一個例子就是Struts了,這個開源web框架非常適合用在基於web的應用程序中。是不是想開發出自己的Struts呢,還是省點力氣吧,回頭看看第二條——不要讓事情複雜化。另外,假如正在開發的程序只有3個窗口,就不要使用Struts了,對這種程序來說,不需要那麼多的“控制”。
    六、不要使用println及字符串連接。通常為了調試方便,開發者喜歡在可能的所有地方都加上System.out.println,也許還會提醒自己回過頭來再來刪除,但有些時候,經常會忘了刪除或者不願意刪除它們。既然使用System.out.println是為了測試,那麼測試完之後,為什麼還要留著它們呢,因為在刪除時,很可能會刪除掉真正有用的代碼,所以不能低估System.out.println危害啊,請看下面的代碼:
             
                 public class BadCode {
                public static void calculationWithPrint(){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                System.out.println(someValue = someValue i);
                }
                }
                public static void calculationWithOutPrint(){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                someValue = someValue i;
                }
                }
                public static void main(String [] n) {
                BadCode.calculationWithPrint();
                BadCode.calculationWithOutPrint();
                }
                } 
             

    從測試中可以發現,方法calculationWithOutPrint()執行用了0.001204秒,作為對比,方法calculationWithPrint()執行可是用了10.52秒。
    要避免浪費CPU時間,最好的方法是引入像如下的包裝方法:
             
                public class BadCode {
                public static final int DEBUG_MODE = 1;
                public static final int PRODUCTION_MODE = 2;
                public static void calculationWithPrint(int logMode){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                someValue = someValue i;
                myPrintMethod(logMode, someValue);
                }
                }
                public static void myPrintMethod(int logMode, double value) {
                if (logMode > BadCode.DEBUG_MODE) { return; }
                System.out.println(value);
                }
                public static void main(String [] n) {
                BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);
                }
                } 

    另外,字符串連接也是浪費CPU時間的一個大頭,請看下面的示例代碼:

                public static void concatenateStrings(String startingString) {
                for (int i = 0; i < 20; i ) {
                startingString = startingString startingString;
                }
                }
                public static void concatenateStringsUsingStringBuffer(String startingString) {
                StringBuffer sb = new StringBuffer();
                sb.append(startingString);
                for (int i = 0; i < 20; i ) {
                sb.append(sb.toString());
                }
                } 
             
        在測試中可發現,使用StringBuffer的方法只用了0.01秒執行完畢,而使用連接的方法則用了0.08秒,選擇顯而易見了。
      七、多關注GUI(用戶界面)。再三強調,GUI對商業客戶來說,與程序的功能及效率同等重要,GUI是一個成功程序的最基本部分,而很多IT經理往往都沒注重到GUI的重要性。在現實生活中,許多公司可能為了節省開支,沒有僱用那些有著設計“用戶友好”界面豐富經驗的網頁設計者,此時Java開發者只能依靠他們自身的HTML基本功及在此領域有限的知識,結果,很多開發出來的程序都是“計算機友好”甚於“用戶友好”。很少有開發者同時精通軟件開發及GUI設計,假如你在公司“不幸”被分配負責程序界面,就應該遵守下面三條原則:
               1、 不要再發明一次輪子,即不做無用功。現有的程序可能會有類似的界面需求。

      2、 先創建一個原型。這是非常重要一步,用戶一般想看到他們將使用的東西,而且可以先利用這個原型徵求用戶的意見,再慢慢修改成用戶想

    要的樣子。
      3、 學會換位思考。換句話來說,就是從用戶的角度來審查程序的需求。舉例來講,一個匯總的窗口可以跨頁或者不跨頁,作為一個軟件開發者,可能會傾向於不跨頁,因為這樣簡單一些。但是,從用戶的角度來看,可能不希望看到上百行數據都擠在同一頁上。
      八、文檔需求不放鬆。每個商業需求都必須記錄在案,這可能聽上去像童話,似乎在現實生活中很難實現。而我們要做的是,不管開發時間多緊迫,不管最終期限多臨近,對每個商業需求都必須記錄在案。
    九、單元測試、單元測試、單元測試。關於什麼是單元測試的最好方法,在此不便細說,只是強調,單元測試一定要完成,這也是編程中最基本的原則。當然了,假如有人幫你做單元測試自然是最好,假如沒有,就自己來做吧,當創建一個單元測試計劃時,請遵守以下三條最基本的原則:
    1、 先於編寫類代碼之前編寫單元測試。
    2、 記錄單元測試中的代碼註釋。
    3、 測試所有執行要害功能的公有方法,這裡不是指set和get方法,除非它們是以自己獨特方式執行set和get方法。
      十、質量,而不是數量。有些時候因為產品問題、期限緊迫、或一些預料之外的事情,導致經常不能按時下班,但一般而言,公司不會因為僱員經常加班而對之表揚和獎勵,公司只看重高質量的工作。假如遵守了前九條原則,你會發現自己寫出的代碼bug少且可維護性高,無形中質量提高了一大步。

  • TestPassport SCJP 310-065(BIG5)繁體中文考題分享

    點擊下載:SCJP 310-065(繁體中文)V6.27

    感謝TestPassport考題大師免費贊助,請到TestPassport官方網站(www.testpassport.net)購買最新310-065考題!

    1. 已知:
    35. String #name = “Jane Doe”;
    36. int $age = 24;
    37. Double _height = 123.5;
    38. double ~temp = 37.5;
    以下敘述哪兩個正確?(請選擇兩個答案。)
    A. 第 35 行無法編譯。
    B. 第 36 行無法編譯。
    C. 第 37 行無法編譯。
    D. 第 38 行無法編譯。
    Answer: AD
    2.按 [下一題] 或 [其他] 繼續作答。應用題
    3. 已知:
    11. public static Iterator reverse(List list) {
    12. Collections.reverse(list);
    13. return list.iterator();
    14. }
    15. public static void main(String[] args) {
    16. List list = new ArrayList();

    17. list.add(“1”); list.add(“2”); list.add(“3”);
    18. for (Object obj: reverse(list))
    19. System.out.print(obj + “, “);
    20. }
    結果為何?
    A. 3, 2, 1,
    B. 1, 2, 3,
    C. 編譯失敗。
    D. 程式碼順利執行,但沒有輸出。
    E. 執行階段丟出異常。
    Answer: C
    4. 已知:
    5. class A {
    6. void foo() throws Exception { throw new Exception(); }
    7. }
    8. class SubB2 extends A {
    9. void foo() { System.out.println(“B “); }
    10. }
    11. class Tester {
    12. public static void main(String[] args) {
    13. A a = new SubB2();
    14. a.foo();
    15. }
    16. }
    結果為何?
    A. B
    B. B,後面是 Exception。
    C. 編譯會失敗,因為第 9 行有錯誤。
    D. 編譯會失敗,因為第 14 行有錯誤。
    E. 丟出 Exception,沒有其他輸出。
    Answer: D (更多…)

  • SUN推出netbeans專家認證發布日期:2009-01-13

    最近sun推出netbeans認證,此認證考試還處於BETA(測試)階段,官方介紹如下:
    Sun認證專家NetBeans IDE的認證是具有豐富經驗的程序員在開發Java桌面和Java Web應用程序使用NetBeans IDE的。實現這一認證提供明確的證據表明,程序員可以設置和配置複雜的項目在IDE中,並使用集成開發環境的工具,設計,編碼,測試,調試和配置文件的應用。考試包括多項選擇題,基於場景的問題,需要NetBeans IDE的6.1廣泛的知識
    Exam Objectives

    Section 1: IDE Configuration

    ——————————————————————————–

    Demonstrate the ability to configure the functionality available in the IDE, including using enabling and disabling functionality and using the Plugin Manager.
    Explain the purpose of the user directory and the netbeans.conf file and how these can be used to configure the IDE.
    Demonstrate the ability to work with servers in the IDE, such as registering new server instances and stopping and starting servers.
    Describe how to integrate external libraries in the IDE and use them in coding and debugging your project.
    Demonstrate knowledge of working with databases in the IDE, including registering new database connections and tables running SQL scripts.
    Describe how to integrate and use different versions of the JDK in the IDE for coding, debugging, and viewing Javadoc documentation.

    Section 2: Project Setup

    ——————————————————————————–

    Describe the characteristics and uses of a free-form project.
    Demonstrate the ability to work with version control systems and the IDE. (Which VCSs are available, which ones you need an external client for, how to pull sources out of a repository, view changes, and check them back in).
    Describe the ways in which you can change the build process for a standard project, such as configuring project properties and modifying the projects Ant build script.
    Configure your project to compile against and run on a specific version of the JDK.

    Section 3: Java SE Development

    ——————————————————————————–

    Demonstrate the ability to create NetBeans projects from the source code of an existing Java SE program.
    Describe how to manage the classpath of a Java SE project, including maintaining a separate classpath for compiling and debugging.
    Demonstrate the knowledge of the NetBeans GUI Builder and the ability to lay out and hook up basic forms using it.
    Demonstrate the ability to package and distribute a built Java Desktop project for use by another user.

    Section 4: Java EE Web Development

    ——————————————————————————–

    (更多…)

  • JBoss的安裝

    JBoss+Tomcat已經成為一個免費的開源的穩定的J2EE服務器,雖然在JBoss中部署J2EE沒有商用J2EE服務器那麼方便,基本都是通過手工編寫XML配置文件,但是這樣可以讓我們更容易理解J2EE的來龍去脈。

    注意,正如Tomcat3和Tomcat 4兩個版本差異很大一樣,Jboss 2和Jboss 3兩者差異較大,本處是以Jboss 2為例,建議安裝JBoss 3. Jboss 3安裝其實更簡單,下載解壓就可運行,部署應用方式也一樣。

    1.從JBoss主頁httpwww.jboss.org下載JBoss整合tomcat的軟件包.

    從ant主頁下載ant用來發布J2EE(.ear)或WEB程序(.war)或Java包(.jar)

    2.設置環境變量
     JAVA_HOME = cjdk1.4
    –假設你安裝Java 2.0 SDK in cjdk1.4
     ANT_HOME = Cjakarta-ant-1.4
    –假設你安裝in Cjakarta-ant-1.4
     JBOSS_DIST = CJBoss_Tomcatjboss
    –假設你安裝Jboss在CJBoss_Tomcatjboss JBoss 3.0已經沒有jboss這個子目錄

     

    在windows 2000中的設置是需要到控制面板–系統–環境變量中設置

    3.設置Path加入%JAVA_HOME%bin;%ANT_HOME%bin以便能夠執行JDK和ANT

    4.從httpwww.jboss.orgdocsmanualfilesdocumentation-example.zip下載JBoss應用程序例子.解壓到

    CJBoss_Tomcat
     
    —- Examples —應用程序例子安裝目錄
    —- Jboss
    —- Catalina –Tomcat 4.0
    從windows的DOS窗口進入examplesbuild目錄執行
    ant intro-interest-ear

    會出現一系列信息,最後是build succesfully

    到examplesbuild-exampleinterest目錄,發現新建立的interest.ear

    5.啟動JBoss將interest.ear拷貝到CJBoss_Tomcatdeploy目錄下,在Jboss 3.x中是serverdefaultdeploy目錄。

    在JBoss控制窗口會看到部署interest.ear的一系列信息.

    6.通過httplocalhost8080interest訪問,會出現一個表單,按提交後,顯示正常.

    至此,你的J2EE應用服務器安裝完畢.

    推薦Jbuilder6或Jbuilder7與JBoss 2.4 JBoss 3的整合

  • [轉載]SUN認證:SCBCD教材英文版

    This is the specification of the Enterprise JavaBeansTM architecture.The Enterprise JavaBeans architecture is a component architecture for the development and deployment of componentbased distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification.

    Table of Contents
    Chapter 1 Introduction……………………………………………………………………………………………………. 25
    1.1 Target audience…………………………………………………………………………………… 25
    1.2 What is new in EJB 2.0 ……………………………………………………………………….. 25
    1.3 Acknowledgments ………………………………………………………………………………. 26
    1.4 Organization ………………………………………………………………………………………. 27
    1.5 Document conventions ………………………………………………………………………… 28
    Chapter 2 Goals ……………………………………………………………………………………………………………… 29
    2.1 Overall goals………………………………………………………………………………………. 29
    2.2 EJB Releases 1.0 and 1.1……………………………………………………………………… 30
    2.3 Goals for Release 2.0…………………………………………………………………………… 30
    Chapter 3 EJB Roles and Scenarios ………………………………………………………………………………….. 33
    3.1 EJB Roles ………………………………………………………………………………………….. 33
    3.1.1 Enterprise Bean Provider ………………………………………………………… 34
    3.1.2 Application Assembler……………………………………………………………. 34
    3.1.3 Deployer……………………………………………………………………………….. 34
    3.1.4 EJB Server Provider ……………………………………………………………….. 35
    3.1.5 EJB Container Provider…………………………………………………………… 35
    3.1.6 System Administrator …………………………………………………………….. 36
    3.2 Scenario: Development, assembly, and deployment ………………………………… 36
    Overview……………………………………………………………………………………………………….. 41
    4.1 Enterprise Beans as components …………………………………………………………… 41
    4.1.1 Component characteristics ………………………………………………………. 41
    4.1.2 Flexible component model………………………………………………………. 42
    4.2 Enterprise JavaBeans contracts……………………………………………………………… 43
    4.2.1 Client-view contracts for session beans and entity beans …………….. 43
    4.2.2 Component contract ……………………………………………………………….. 44
    4.2.3 Ejb-jar file …………………………………………………………………………….. 46
    4.2.4 Contracts summary ………………………………………………………………… 46

    (更多…)