Java Web應(yīng)用開發(fā)中的一些概念
2、Web應(yīng)用
Web應(yīng)用,可以認(rèn)為是Web程序的另一個名稱。缺的的定義就是運(yùn)行在Web容器當(dāng)中的,能夠完成完整功能的應(yīng)用程序。Java Web應(yīng)用由一系列編譯之后的Java類、靜態(tài)圖片、靜態(tài)HTML文件、配置文件等構(gòu)成。通過Java Web應(yīng)用可以就收用戶的輸入和請求,并對請求信息進(jìn)行加工處理、訪問數(shù)據(jù)庫、對用戶的請求給出回應(yīng)。開發(fā)Java Web應(yīng)用程序處理需要遵守Web應(yīng)用的一些特殊規(guī)范要求以外,與開發(fā)其他類型的應(yīng)用程序并沒有本質(zhì)區(qū)別。目前Web應(yīng)用主要有兩種類型:一種是以展示為目的的Web應(yīng)用,這種應(yīng)用會以HTML等標(biāo)記文本或者瀏覽器所能識別的媒體格式最為請求返回內(nèi)容,用戶可以通過瀏覽器等客戶端操作這類應(yīng)用。另一類是以服務(wù)為目的的Web應(yīng)用,這類應(yīng)用不提供圖形操作界面,只提供方法調(diào)用結(jié)構(gòu),比如Web服務(wù),該類應(yīng)用一般只能被其他應(yīng)用程序調(diào)用和訪問。
3、Web元件
Web元件是構(gòu)成Web應(yīng)用,能夠?qū)碜詾g覽器等客戶端請求做出回應(yīng)的基本單元。在Java Web應(yīng)用中,所提供的Web元件有Servlet、JavaServer Pages(JSP)、JavaServer Faces(JSF)等。另外還可以使用其他類型Web應(yīng)用同樣使用的內(nèi)容,比如HTML文件、靜態(tài)圖片等。事實(shí)上Java Web只提供了一種Web元件元件,就是Servlet,JSP、JSF等都是基于Servlet的衍生技術(shù)。Servlet實(shí)質(zhì)就是一個有特殊繼承關(guān)系要求的Java類,理解Servlet就基本上完全理解Java Web技術(shù)了。
4、Web模塊
在Java EE技術(shù)體系中,除了Java Web以外,還包括EJB等其他技術(shù)。每個技術(shù)體系會運(yùn)行在各自的容器當(dāng)中,不同的部分組合在一起構(gòu)成完整的Java EE應(yīng)用,每個部分根據(jù)自己的特點(diǎn)被稱為Java Web模塊或者EJB模塊。之所以把他們稱為模塊,是因?yàn)橄M鸍ava EE應(yīng)用不同部分能像積木一樣組合出更大、更復(fù)雜的應(yīng)用出來,并且每個部分保證其獨(dú)立性。不同的模塊都有自己特定的目錄結(jié)構(gòu)要求。Java Web模塊的目錄結(jié)構(gòu)要求如下:
◆應(yīng)用文檔根目錄。改目錄是Java Web模塊的最上層目錄,組成Web模塊的所有Web元件以及配置文件等都包含在該目錄或者子目錄下。在改目錄下可以直接存放HTML文件,圖片文件等。
◆WEB-INF目錄。改目錄位于應(yīng)用文檔根目錄下,用來保存那些不希望被瀏覽器等客戶端訪問的文件,比如發(fā)布描述文件、編譯之后的類文件。因?yàn)檫@些文件是由由Web容器進(jìn)行解釋或者執(zhí)行的。瀏覽器不可以直接看到這些文件,只能看到這些文件的執(zhí)行結(jié)果。
◆web.xml文件。該文件位于WEB-INF目錄下,是Web應(yīng)用的部署描述文件,用來與定義Web應(yīng)用運(yùn)行相關(guān)的信息,比如執(zhí)行邏輯,Servlet等Web元件的訪問路徑等。改文件的格式必須符合所使用的Servlet版本的規(guī)格要求。
◆classes目錄。該目錄位于WEB-INF目錄下,用來保存編譯之后的Java類文件,比如Servlet、輔助類、其他業(yè)務(wù)處理類等。
◆tags目錄。該目錄位于WEB-INF目錄下,用來保存那些標(biāo)簽庫的標(biāo)簽描述文件。
◆lib目錄。該目錄位于WEB-INF目錄下,用來保存Web應(yīng)用運(yùn)行所依賴的,經(jīng)過打包之后的Java類文件。打包格式一般是.jar格式。
對于Java Web模塊目錄中WEB-INF、web.xml、classes、tags、lib這些內(nèi)容以外,用戶可以根據(jù)自己的需要在Web應(yīng)用文檔根目錄下創(chuàng)建其他目錄,比如可以為圖片、不同用途的HTML或者JSP單獨(dú)創(chuàng)建目錄;還可以為不用的Java類在classes下創(chuàng)建包目錄。如果在你的Web應(yīng)用中沒有使用到Servlet、過濾器、監(jiān)聽器等Java Web元件,可以沒有web.xml文件;如果沒有使用到標(biāo)簽,則可以沒有tags目錄。
Web模塊的發(fā)布工作,可以直接以目錄的形式發(fā)布,也可以打包成jar格式文件進(jìn)行發(fā)布。因?yàn)橛猛竞蛢?nèi)容的特殊性,打包文件的擴(kuò)展名會采用.war而不是.jar。另外如果不是發(fā)布到獨(dú)立的Web服務(wù)器上,而是發(fā)布到與其他Java EE一起使用的企業(yè)應(yīng)用服務(wù)器上,還需要編寫一個與企業(yè)應(yīng)用服務(wù)器相關(guān)的配置文件,這個文件對于不同的企業(yè)應(yīng)用服務(wù)器也不同,比如發(fā)布到glassfish服務(wù)器上,需要編寫的文件時(shí)sun-web.xml。(以上由武漢高能激光軟件部編輯整理于網(wǎng)絡(luò)轉(zhuǎn)載請說明:www.gnlaser.com)
武漢SEO www.quliangwen.org.cn