跳轉到內容

Jakarta EE 程式設計/框架

來自華夏公益教科書,面向開放世界開放書籍

大多數 Jakarta EE 技術都與框架一起使用。這是與普通 Java 程式設計的主要區別。因此您必須熟悉框架的使用。

框架 vs 庫

[編輯 | 編輯原始碼]

框架或庫是您使用的程式碼,但您自己不會編寫。考慮以下程式碼

class MainProgram {
    public static void main(String[] args) {
        SubProgram.doProcess();
    }
}
class SubProgram {
    public static void doProcess() {
        System.out.println("Do the process.");
    }
}

左側的程式碼呼叫右側的程式碼。如果您使用庫,您編寫左側的程式碼,而不編寫右側的程式碼,因此庫位於右側

class MainProgram {
    public static void main(String[] args) {
        SubProgram.doProcess();
    }
}
class SubProgram {
    public static void doProcess() {
        System.out.println("Do the process.");
    }
}

如果您使用框架,您編寫右側的程式碼,而不編寫左側的程式碼,因此框架位於左側

class MainProgram {
    public static void main(String[] args) {
        SubProgram.doProcess();
    }
}
class SubProgram {
    public static void doProcess() {
        System.out.println("Do the process.");
    }
}

這意味著您不會啟動自己的程式碼。您將啟動一個產品,該產品將讀取您的程式碼並使用它。您不知道您的程式碼將如何使用。

Jakarta EE 中的框架

[編輯 | 編輯原始碼]
  • 當您構建 Jakarta EE 時,您會生成一個 .ear.war 檔案。該檔案分別在應用程式伺服器或 servlet 容器中執行。應用程式伺服器和 servlet 容器是框架。最常用的 Jakarta EE 應用程式伺服器是 GlassfishWildFlyGeronimo。最常用的 Jakarta EE servlet 容器是 Tomcat
  • 當您編寫 servlet 時,它將在 servlet 容器中執行,servlet 容器是一個框架。
  • 當您編寫 .jsp 時,它將被 JSP 編譯器讀取,JSP 編譯器是一個框架。Apache Tomcat JSP 編譯器是 Tomcat Jasper。

Jakarta EE 中使用了許多其他框架。它們完成了許多您無法獨立完成的事情。

不良實踐

[編輯 | 編輯原始碼]

不要像除錯庫一樣除錯您的程式碼。Jakarta EE 編碼需要與 Java 編碼不同的實踐。即使您擁有框架的原始碼,也不要嘗試閱讀它。大多數情況下,它不可能理解,您會浪費時間。您永遠找不到框架呼叫您的程式碼的方式(框架通常在執行時生成一些類)。

當您遇到錯誤時,您必須閱讀框架規範。這是找到解決方案的唯一方法。大多數情況下,堆疊跟蹤非常長。只閱讀提到您自己程式碼的部分。如果堆疊跟蹤提到錯誤程式碼,請在框架規範中搜索該錯誤程式碼。

有時,框架規範不足以找到錯誤。在這種情況下,如果錯誤在框架類中,不要試圖自己理解錯誤。最好的做法是找到已經遇到此錯誤並知道解決方案的人。可以是同事或網際網路論壇上的人。最著名的就是 Stack Overflow

華夏公益教科書