歡迎來到“管理角”這個版,新一期的月刊專欄專注於 WebLogic 服務器的管理、配置、處理和開發方面。
開辟這個專欄的目的是為了向大家介紹在使用WebLogic Sever時,能普遍用到的非J2EE開發方面的問題。開發者和管理者同樣會發現這個專欄非常有價值,因為這些文章既適用於開發又適用於最終產品的應用。此外,它很大程度上利用了來自於該領域和工程實驗室的經驗,它提供了對實際問題的詳細解答。
JSP預編譯的必要性
本文著眼於移除潛在的系統性能瓶頸,它通過解決一個最普通的問題??在服務器運行時間中的JSP (JavaServer Page)編譯的系統開銷問題,這個問題困擾著幾乎所有的J2EE發展計劃。雖然JSP是在J2EE應用范圍內呈現動態HTML視圖的理想選擇,但在某種程度上它們會影響性能,這比錯誤的更令人討厭,給人的第一感覺是該程序很慢。
根據J2EE規范,JSP主要是HTML文件,在它裡面包含著Java代碼用來和其他的系統組件進行交互以及動態的顯示信息。規范規定所有的J2EE編譯應用服務器應當支持JSP,客戶請求一個特定的JSP,將:
● 轉換JSP從HTML格式成為servlet類型的Java類(Java源格式),用簡寫的JSP符號代替完全符合規定的Java語法
● 將新產生的Java源文件編譯成.class字節碼形式
● 在新編譯的類上執行適當的接口方法並且對客戶端請求返回響應。
雖然從發展的觀點來看對於在表示層內管理動態HTML的產生這是最好的途徑,但它影響到服務器的運行時間環境,要求JSP被解析、轉變成Java代碼,並且在它去處理一個特定的客戶端請求之前被編譯。對最終用戶明顯的影響是,一個響應將會被延遲知道給定的JSP文件被編譯通過。考慮到一個特定的用戶請求可能用到兩個或多個JSP文件,因此編譯狀態必需的時間增加了很多倍。