国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

MoreJSP編程實踐(下)

2019-11-18 16:21:50
字體:
來源:轉載
供稿:網友
預編譯jsps,在開發階段就要如此
    當你在瀏覽器中鍵入URL來執行JSP時,JSP在以Html的形式提交給用戶之前需要經歷一系列的處理。正是因為這些處理,因此當第一次請求jsp的時候需要的時間要比其后對這個jsp頁面的訪問需要的時間要長很多。很多的開發人員都知道在發布的時候預編譯JSPs的重要性,同樣的,在開發階段進行預編譯也是很有用的。
    你可以在編譯代碼的階段,在編譯與JSP相關的javabean、自定義標簽處理類(custom tag handler classes)、其他一些相關的類以及servlet的同時預編譯JSP。這樣只需要進行一次的編譯,減少了某一個時間內需要的編譯的時間。對于開發人員來說,這非常有好處,因為在等待編譯的時候,他們很容易分心。因此一次性的進行所以的編譯相對與只是在請求jsp的時候才進行編譯是很有好處的。
    預編譯可以發現語法問題(parser PRoblem)以及其他一些翻譯時期(translation-time)出現的問題。這些問題通常需要多個步驟才能夠定位。這樣對于開發人員來說是有意義的,這樣開發人員就不需要通過瀏覽多個頁面后才可以定位存在問題的頁面了。如果使用JSP document的話,那么還可以在預編譯的時候來驗證JSP document的結構。
    預編譯的另一個好處是可以在發布的war文件中包含你的編譯了的JSP版本,而不是實際的JSP源代碼。JSP進行編譯后,就可以以.class文件包含在發布的產品中(這些.class文件名滿足容器的供應商特定的命名約定)。
大多數的Java 2平臺,J2EE以及一些java工具都支持JSP預編譯,專業的網絡容器也支持JSP預編譯,盡管可能是通過一種非標準的命令或者界面。許多的網絡容器都支持命令行形式的JSP預編譯,你可以在你的scripted builds中加入這些命令行。

組織文件和目錄
下面的技術有助于JSP的開發與維護,能夠使得你的JSP開發和維護更容易和高效:
l        組織Web的根目錄
l        組織好WEB-INF目錄,合理的使用子目錄
l        以.jspf的擴展名來標識JSP fragments(需要被include在其他jsp頁面中的jsp文件,譯者注)
l        使用IDE,ANT,以及其他一些自動生成工具

組織web的根目錄
    你可以通過將所有的Web應用所有的文件直接的放到web的根目錄下面,這個目錄就是WEB-INF目錄所在的目錄。我推薦合理的組織這個目錄,比方說在其中加入jsp,html,CSS以及css等子目錄。對于簡單的應用來說,是否需要這樣來劃分目錄還有爭議但是對于大的網絡應用來可以增強理解以及維護性能。

組織web-inf目錄
    標簽酷是在JSP開發中很有價值的資源。大的網絡應用可能包含有幾個標簽庫比方說:JSTL標簽庫、Struts標簽庫以及其他的一些標簽庫。我推薦在WEB-INF目錄下面建立一個tld子目錄來存放這些標簽庫而不是將這些標簽庫放在WEB-INF目錄下面。這樣可能會“淹沒”了這個目錄。

以.jspf的擴展名來標識jsp fragments
    在最近版本的JSP規范中的JSP segments(以前版本稱為JSP fragments)即.jspf文件是不完整的JSPs,是用來被其他的JSP來包含的。JSP規范建議使用命名規范來區別“外層”的JSPs和JSP fragments/segments。通常將命名完整的“外層”的文件以“.jsp”為擴展名,而JSP fragments/segments以“.jspf”為擴展名,但是規范并沒有要求這樣做。我同樣推薦將完整和“外層”的JSPs放在一個不同的目錄下面。

使用ide,ant及其他的一些自動工具
    IDEs可以加速開發和部署的時間,并且減少書寫以及其他的一些錯誤。有許多的IDE工具提供了J2EE工具和向導。這些工具同樣同一些框架相集成(如Struts和JSTL標簽庫)。
    Ant是defacto標準的創建和部署java和j2ee應用的工具。Ant提供了創建和部署應用時很多有用的特性,同樣也支持創建和部署war以及ear文件。許多工具內嵌支持Ant。當不能使用IDEs時,我任務Ant時必不可少的。其他一些工具也可能支持自動創建和部署,也能提供ant提供的特性,但是ant一個最重要的特點就在于它的費用(免費)以及它支持很廣泛。
    同樣我推薦Apache的Apache Maven,在考慮管理整個java項目時它也是一個很有用的產品。

重新考慮與規范不相容(nonspecification-compliant)的特性
    Web Server偶爾會提供一些與供應商特定(vendor-specific)的特性,這些特性在開發時非常有用,可以提高性能、安全以及其他一些特性。
在有些情況下,使用這些與供應商相關(vendor-specific)的特性是合理的,因為它所帶來的優點遠遠的超過了其所可能蘊涵的危險。然而你需要意識到使用與供應商特定的特性時所蘊含的危險,因此在同樣的情況下應該優先的考慮使用和規范相容的特性。記住,并不是所以的特性都是按照規范而“呼喚”出來的,在這種情況下,任何一個供應商的實現都是私有的。
    技術的依賴并不總是使得供應商特點的特性蘊含危險。特定的Web servers供應商提供的自定義標簽庫可能在所有的支持自定義標簽的Web server都可以使用,這種情況下你需要注意的是版權(licensing issues)問題了。
    最佳實踐(best practice)依賴與變換Web servers的可能性。當我不使用tomcat做為web server時,我通常會在其他別的web servers上面部署基于j2ee的網絡應用來檢驗規范的相容性。需要記住的一點是,即使你一直使用一種web server,隨著時間的發展,使用供應商特定的特性也存在危險。因為j2ee規范不斷的進步,在某一個特定的供應商以他們特有的方式實現了一定的特性的時候,j2ee規范可能就會以一種標準的形式來定義這個特性。這種情況下,這個供應商就會轉向這個同一的標準。

使用xhtml語法
    在“JSP Best Practices”中,我推薦在JSPs中使用HTML的最佳實踐(best pratices)。更近一步,我發現在創建JSP document時XHTML規范提供很有用的HTML標簽語法(I now find that the XHTML specification offers the most useful version of HTML tag syntax in authoring JSP documents),XHTML使得更容易的來創建xml相容的JSP document。甚至JSPs page的作者也發現了在JSPs中使用XHTML是有好處的。
    因為完全的XML相容,XHTML語法比HTML遵守個嚴格的規則。標準的HTML和XHTML標簽的不同見:World Wide Web Consortium's XHTML 1.0 pages.(http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp-p4.html#resources.)

只能做的更好(it only gets better)
    JSP技術是用來簡化靈活的web開發的。近來產生JSTL技術延續了這一趨勢。甚至servlet方面規范的進步也大大的方便了JSP的開發。JSP和servlet規范的進步、一些新的工具的產生、JSP編碼標準的共享都使得高可維護的JSP的開發比以前更加的容易。

matrix開源技術經onjava授權翻譯并發布.
如果你對此文章有任何看法或建議,請到Matrix論壇發表您的意見.
注明: 如果對matrix的翻譯文章系列感興趣,請點擊oreilly和javaworld文章翻譯計劃查看詳細情況
您也可以點擊-chessboy查看翻譯作者的詳細信息
原文:http://www.javaworld.com/javaworld/jw-07-2003/jw-0725-morejsp-p4.html

(出處:http://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠安县| 株洲市| 江津市| 保康县| 瓮安县| 白朗县| 兴安县| 肥城市| 苗栗县| 军事| 海门市| 嘉祥县| 松潘县| 华池县| 墨脱县| 平和县| 三原县| 化州市| 宿松县| 咸阳市| 城市| 通江县| 安国市| 宜都市| 基隆市| 莒南县| 共和县| 大同县| 星子县| 黄冈市| 樟树市| 家居| 岳池县| 田阳县| 曲阳县| 邢台县| 霍邱县| 鄂州市| 霍邱县| 咸阳市| 东平县|