Web應(yīng)用程序的Java技術(shù)
由 棗莊網(wǎng)站建設(shè)公司:英特網(wǎng)絡(luò),2006年11月
您可以在互聯(lián)網(wǎng)上隨處找到Web應(yīng)用程序。許多這些Web應(yīng)用程序用于處理在線表單,統(tǒng)計投票投票,在在線商店內(nèi)接訂單,允許用戶為他們的下一次商務(wù)旅行預(yù)訂航班,或者僅僅顯示用戶的登錄名。您需要哪些Java技術(shù)來創(chuàng)建Web應(yīng)用程序,以及需要導(dǎo)入哪些軟件包?答案取決于你正在建立什么樣的應(yīng)用程序和它做什么。
本文概述了創(chuàng)建各種類型的Web應(yīng)用程序所涉及的Java技術(shù),告訴您何時可以決定使用它們,并提供鏈接以幫助您入門。未來的文章將介紹如何在構(gòu)建Web應(yīng)用程序中使用這些技術(shù)。要使用此文章中描述的技術(shù),下載 Java開發(fā)工具包(JDK)5.0更新9 Java平臺企業(yè)版(Java EE)或更高版本,并在您的計算機上安裝它。
在開始編碼之前,您需要了解Web應(yīng)用程序是什么,什么Java技術(shù)可用,以及什么開發(fā)工具可以為您節(jié)省時間,并使創(chuàng)建應(yīng)用程序更容易。
內(nèi)容
什么是Web應(yīng)用程序?
Java技術(shù)在Web應(yīng)用程序使用
其他技術(shù)來考慮
開發(fā)工具
什么是Web應(yīng)用程序?
Web應(yīng)用程序本質(zhì)上是分布式應(yīng)用程序,這意味著它們是在多個計算機上運行并通過網(wǎng)絡(luò)或服務(wù)器進行通信的程序。具體地,由于易于使用瀏覽器作為用戶客戶端,因此使用web瀏覽器訪問web應(yīng)用并且是受歡迎的。對于企業(yè)來說,更新和維護Web應(yīng)用程序而不在可能數(shù)千臺客戶端計算機上部署和安裝軟件的能力是其受歡迎的一個關(guān)鍵原因。Web應(yīng)用程序用于Web郵件,在線零售,討論板,博客,網(wǎng)上銀行等。一個Web應(yīng)用程序可以被數(shù)百萬人訪問和使用。
與桌面應(yīng)用程序一樣,Web應(yīng)用程序由許多部分組成,并且通常包含微型程序,其中一些具有用戶界面,并且其中一些程序根本不需要圖形用戶界面(GUI)。此外,Web應(yīng)用程序經(jīng)常需要額外的標(biāo)記或腳本語言,例如HTML,CSS或JavaScript編程語言。此外,許多應(yīng)用程序僅使用Java編程語言,這是理想的,因為它的多功能性。
Web應(yīng)用程序可以像顯示當(dāng)前日期和時間的頁面一樣簡單,也可以是一組復(fù)雜的頁面,您可以在其中查找并預(yù)訂便利的航班,酒店和汽車租賃您的下一個假期。
您將用于創(chuàng)建Web應(yīng)用程序的Java技術(shù)是Java EE平臺的一部分,以及許多Java Platform,Standard Edition(Java SE)類和包。為了使許多這些技術(shù)在服務(wù)器上工作,服務(wù)器必須安裝一個容器或Web服務(wù)器,以識別并運行您創(chuàng)建的類。對于這些技術(shù)的開發(fā)和測試,您可以使用本文中詳細介紹的工具,但在部署時,請確保服務(wù)器安裝了Java服務(wù)器軟件以運行基于Java技術(shù)的Web應(yīng)用程序。如果您無法訪問此信息,請咨詢服務(wù)器管理員。
Java技術(shù)在Web應(yīng)用程序中使用
一篇文章中列出了太多的Java技術(shù),因此本文將僅描述常用的技術(shù)。這里列出的技術(shù)數(shù)量可能顯得壓倒性。請記住,您不需要全部使用它們。事實上,Web應(yīng)用程序通常只包含一個使用JavaServer Pages(JSP)技術(shù)創(chuàng)建的頁面。有時你會結(jié)合三種或更多這樣的技術(shù)。無論你終使用了多少,好知道你可以使用什么,以及如何在Web應(yīng)用程序中使用它們。
Java Servlet API
在 的Java Servlet API的允許你定義HTTP特定的類。servlet類擴展了承載通過請求 - 響應(yīng)編程模型訪問的應(yīng)用程序的服務(wù)器的能力。雖然servlet可以響應(yīng)任何類型的請求,但它們通常用于擴展由Web服務(wù)器托管的應(yīng)用程序。例如,您可以使用servlet從在線表單中獲取文本輸入,并以HTML頁面和格式將其打印回屏幕,也可以使用不同的servlet將數(shù)據(jù)寫入文件或數(shù)據(jù)庫。servlet在服務(wù)器端運行 - 沒有自己的應(yīng)用程序GUI或HTML用戶界面(UI)。Java Servlet擴展使許多Web應(yīng)用程序成為可能。
圖1顯示了客戶端與Java Servlet擴展?蛻舳说膹(fù)雜性可以從簡單的HTML表單到復(fù)雜的基于Java技術(shù)的applet。
在 與 包提供的類和接口來定義的servlet。HTML Servlet類擴展 抽象類,它提供了處理HTTP協(xié)議的框架。 javax.servlet javax.servlet.http javax.servlet.http.HttpServlet
詳細了解 了Java Servlet的擴展和 使用Servlet導(dǎo)航。
JavaServer Pages技術(shù)
JavaServer Pages(JSP)技術(shù)提供了一種簡化的,快速的方式來創(chuàng)建動態(tài)Web內(nèi)容。JSP技術(shù)能夠快速開發(fā)基于服務(wù)器和平臺的基于Web的應(yīng)用程序。JSP技術(shù)允許您將servlet代碼片段直接添加到基于文本的文檔中。通常,JSP頁面是基于文本的文檔,其包含兩種類型的文本:
靜態(tài)數(shù)據(jù),可以以任何基于文本的格式表示,例如HTML,無線標(biāo)記語言(WML)或XML
JSP技術(shù)元素,它們確定頁面如何構(gòu)造動態(tài)內(nèi)容
參與創(chuàng)建JSP頁面的包 javax.el, javax.servlet.jsp, javax.servlet.jsp.el,和 javax.servlet.jsp.tagext,雖然你很少需要直接導(dǎo)入這些。JSP頁面可以作為一個位的HTML與JSP一個代碼段和簡單 .jsp的網(wǎng)頁名稱擴展。
例如,您可以創(chuàng)建一個使用一個代碼段為包括JSP技術(shù)頁面的網(wǎng)站 header.html文件,它包含了網(wǎng)站導(dǎo)航。這樣,當(dāng)您更改導(dǎo)航中的按鈕的鏈接時,您只更改一個文件,該文件加載到網(wǎng)站上具有此代碼段的所有頁面:
<%@ include file =“header.html”%>
這行代碼非常像服務(wù)器端包含,如果你熟悉那些。因為此網(wǎng)頁現(xiàn)在是一個JSP頁面,您還可以繼續(xù)添加更多的Java技術(shù)代碼來創(chuàng)建動態(tài)Web內(nèi)容,例如調(diào)查,表單,從數(shù)據(jù)庫輸入或檢索數(shù)據(jù)的方式等等。
看看有關(guān)創(chuàng)建JSP頁面的兩個有用的文檔:
JavaServer Pages(JSP)v2.0語法參考
JavaServer Pages技術(shù) - 常見問題
JavaServer Pages標(biāo)準(zhǔn)標(biāo)簽庫
JavaServer Pages Standard Tag Library(JSTL)封裝了許多基于JSP技術(shù)的應(yīng)用程序所共有的核心功能。您不必混用應(yīng)用程序中許多供應(yīng)商的標(biāo)簽,而是使用一組標(biāo)準(zhǔn)的標(biāo)簽。此標(biāo)準(zhǔn)化允許您在支持JSTL的任何JSP容器上部署應(yīng)用程序,并且使得更有可能優(yōu)化標(biāo)記的實現(xiàn)。
JSTL具有用于處理流控制的迭代器和條件標(biāo)簽,用于操縱XML文檔的標(biāo)簽,國際化標(biāo)簽,用于使用SQL訪問數(shù)據(jù)庫的標(biāo)簽,以及用于常用功能的標(biāo)簽。
您也可以訪問使用JSTL的包 , , ,和 。 javax.servlet.jsp.jstl.core javax.servlet.jsp.jstl.fmt javax.servlet.jsp.jstl.sql javax.servlet.jsp.jstl.tlv
了解更多關(guān)于 JSTL。
JavaServer Faces技術(shù)
JavaServer Faces技術(shù)是用于構(gòu)建Web應(yīng)用程序的UI框架。的JavaServer的主要部件Faces技術(shù)涉及的GUI組件框架,在各種標(biāo)記語言和技術(shù)再現(xiàn)部件的靈活模型,和一個標(biāo)準(zhǔn)的 RenderKit,用于產(chǎn)生HTML標(biāo)記。
此功能通過標(biāo)準(zhǔn)Java API和基于XML的配置文件提供。此外, 的Sun Java Studio的創(chuàng)建者IDE利用JavaServer Faces技術(shù)在其拖和拖放GUI工具,讓您在使用的技術(shù),而無需編寫或理解底層代碼。另請參閱“ 入門的Sun Java Studio的創(chuàng)造者。”
Java消息服務(wù)API
消息傳遞是軟件組件或應(yīng)用程序之間的通信的方法。消息系統(tǒng)是對等設(shè)施。換句話說,消息傳遞客戶端可以向任何其他客戶端發(fā)送消息和從任何其他客戶端接收消息。每個客戶端連接到提供創(chuàng)建,發(fā)送,接收和讀取消息的工具的消息代理。通過將Java技術(shù)與企業(yè)消息傳遞相結(jié)合,Java消息服務(wù)(JMS)API為解決企業(yè)計算問題提供了強大的工具。
企業(yè)消息傳遞為整個企業(yè)中的業(yè)務(wù)數(shù)據(jù)交換提供可靠,靈活的服務(wù)。JMS API向其添加了一個通用的API和提供程序框架,可以使用Java編程語言開發(fā)基于便攜式消息的應(yīng)用程序。JMS可以如何使用的示例是跟蹤汽車制造商的庫存的應(yīng)用。當(dāng)產(chǎn)品的庫存水平低于某一水平時,庫存組件可以向工廠組件發(fā)送消息,因此工廠可以更多汽車。工廠組件可以向部件組件發(fā)送消息,以便工廠可以組裝其所需的部件。部件組件又可以向他們自己的庫存發(fā)送消息并訂購組件以更新其庫存并從供應(yīng)商訂購新的部件向前。
JMS API通過定義所有符合JMS技術(shù)的消息傳遞系統(tǒng)將支持的一組通用概念和編程策略來提高程序員的工作效率。
了解更多關(guān)于 JMS API。
JavaMail API和JavaBeans激活框架
Web應(yīng)用程序可以使用JavaMail API發(fā)送電子郵件通知。API有兩個部分:應(yīng)用程序組件用于發(fā)送電子郵件的應(yīng)用程序級接口和服務(wù)提供程序接口。服務(wù)提供商實現(xiàn)特定的電子郵件協(xié)議,例如SMTP。JavaMail API包中包含多個服務(wù)提供程序,其他服務(wù)提供程序單獨提供。Java EE平臺包括具有服務(wù)提供程序的JavaMail擴展,允許應(yīng)用程序組件發(fā)送電子郵件。
結(jié)合JavaMail擴展,您可以使用JavaBeans激活框架(JAF)API。此API提供標(biāo)準(zhǔn)服務(wù),以確定任意數(shù)據(jù)塊的類型,封裝對其的訪問,發(fā)現(xiàn)其上可用的操作,并基于JavaBeans組件體系結(jié)構(gòu)(JavaBeans組件)創(chuàng)建適當(dāng)?shù)慕M件來執(zhí)行這些操作。
JavaMail API現(xiàn)在是開源的。請參閱 GlassFish項目- JavaMail的主頁。
了解更多有關(guān) 的JavaMail API和 JAF。
Java API for XML處理
用于XML處理的Java API(JAXP)是Java SE平臺的一部分,它支持使用文檔對象模型(DOM),XML的簡單API(SAX)和可擴展樣式表語言轉(zhuǎn)換(XSLT)來處理XML文檔。JAXP使應(yīng)用程序能夠獨立于特定XML處理實現(xiàn)來解析和轉(zhuǎn)換XML文檔。
JAXP還提供了命名空間支持,它允許您使用可能存在命名沖突的模式。JAXP設(shè)計靈活,允許您在應(yīng)用程序中使用任何與XML兼容的解析器或XSL處理器,并支持W3C模式。
了解更多關(guān)于 JAXP。
對于XML Web服務(wù)的Java API(JAX-WS)現(xiàn)在是一個 開源項目在java.net,也是的一個關(guān)鍵部分 的GlassFish項目。又見 介紹JAX-WS 2.0與Java SE 6的平臺,第1部分。
JDBC API
JDBC API允許從Java編程語言方法調(diào)用數(shù)據(jù)庫SQL命令。當(dāng)您需要訪問數(shù)據(jù)庫時,可以在servlet,JSP技術(shù)頁面或企業(yè)bean中使用JDBC API。
JDBC API有兩個部分:應(yīng)用程序組件用于訪問數(shù)據(jù)庫的應(yīng)用程序級接口和用于將JDBC驅(qū)動程序附加到Java EE平臺的服務(wù)提供程序接口。
圖2的左側(cè)顯示了客戶端如何通常通過servlet或JSP頁面直接調(diào)用應(yīng)用程序服務(wù)器,然后將數(shù)據(jù)發(fā)送到數(shù)據(jù)庫管理系統(tǒng)(DBMS)服務(wù)器。圖2的右側(cè)顯示了驅(qū)動程序如何將JDBC調(diào)用轉(zhuǎn)換為中間件供應(yīng)商的協(xié)議。
了解更多關(guān)于 JDBC API。
Java持久性API
Java Persistence API是用于持久性的基于Java技術(shù)標(biāo)準(zhǔn)的解決方案。持久化使用對象關(guān)系映射方法來彌合面向?qū)ο竽P秃完P(guān)系數(shù)據(jù)庫之間的差距。Java技術(shù)持久化包括三個方面:
Java持久性API
查詢語言
對象關(guān)系映射元數(shù)據(jù)
閱讀 Java持久性API常見問題解答。
Java命名和目錄接口
Java命名和目錄接口(JNDI)提供命名和目錄功能,使應(yīng)用程序可以訪問多個命名和目錄服務(wù)。它為應(yīng)用程序提供執(zhí)行標(biāo)準(zhǔn)目錄操作的方法,例如將屬性與對象相關(guān)聯(lián),并使用其屬性搜索對象。使用JNDI,Web應(yīng)用程序可以存儲和檢索任何類型的命名Java技術(shù)對象,允許應(yīng)用程序與許多舊有應(yīng)用程序和系統(tǒng)共存。
命名服務(wù)為應(yīng)用程序客戶端,企業(yè)bean和Web組件提供對JNDI命名環(huán)境的訪問。命名環(huán)境允許開發(fā)人員自定義組件,而不必訪問或更改組件的源代碼。容器實現(xiàn)組件的環(huán)境并將其作為JNDI命名上下文提供給組件。
了解更多關(guān)于 JNDI。
其他考慮的技術(shù)
您可能需要考慮在Web應(yīng)用程序中使用以下其他技術(shù),具體取決于應(yīng)用程序的復(fù)雜性:
J2EE連接器架構(gòu):工具供應(yīng)商和系統(tǒng)集成商使用這種架構(gòu)來創(chuàng)建支持訪問可以在任何Java EE技術(shù)為基礎(chǔ)的產(chǎn)品被插入的企業(yè)信息系統(tǒng)的資源適配器。
Java認證和授權(quán)服務(wù)(JAAS):JAAS提供了Java EE技術(shù)為基礎(chǔ)的應(yīng)用程序來驗證和授權(quán)用戶運行它的特定用戶或組的方式。
用于XML注冊表(JAXR)的Java API:JAXR,您可以通過網(wǎng)絡(luò)訪問業(yè)務(wù)和通用登記。
Java體系結(jié)構(gòu)XML綁定(JAXB):JAXB提供綁定的XML架構(gòu)的表示在用Java編程語言應(yīng)用程序的簡便方法。
SOAP與用于Java(SAAJ)附件API:SAAJ是一種低層次的API在其JAX-WS和JAXR依賴。
Java事務(wù)API(JTA):JTA提供了劃分事務(wù)的標(biāo)準(zhǔn)接口。
開發(fā)工具
集成開發(fā)環(huán)境(IDE)可以加快開發(fā)和測試Web應(yīng)用程序的過程。難怪開發(fā)者遷移到IDE,但哪一個適合您呢?您需要哪些功能?Sun Microsystems為Java平臺支持三個IDE:NetBeans IDE,Sun Java Studio Creator IDE和Sun Java Studio Enterprise IDE。
NetBeans IDE
NetBeans IDE是免費和開源的。該IDE用Java編程語言編寫,并提供桌面應(yīng)用程序通用的服務(wù),如窗口和菜單管理,設(shè)置存儲等。它也是第一個IDE完全支持JDK 5.0的功能。此外,它還支持Web工具,包括NetBeans IDE企業(yè)包,它增加了您立即開始編寫,測試和調(diào)試基于Java技術(shù)的Web應(yīng)用程序所需的一切。
該軟件包提供了用于統(tǒng)一建模語言(UML)建模,XML模式創(chuàng)建,修改和可視化的可視化設(shè)計工具,以及安全的,具有身份標(biāo)識的Web服務(wù)的開發(fā)。
Sun Java Studio創(chuàng)建器IDE
的Sun Java Studio的創(chuàng)建者IDE是偉大的快速和簡單的網(wǎng)絡(luò)應(yīng)用程序的開發(fā)。此外,此IDE基于NetBeans IDE構(gòu)建,從一部分功能開始并擴展。
Sun Java Studio Creator IDE允許您直觀地構(gòu)建應(yīng)用程序。編程部分與UI完全分離。使用Sun Java Studio Creator IDE,IDE會處理UI背后的大量重復(fù)編碼。
快速可視化拖放功能基于JavaServer Faces技術(shù),這是一個用于為Web應(yīng)用程序構(gòu)建UI的框架。GUI用于操作JavaServer Faces組件,以及可視化定義頁面流。還有圖形支持,可以輕松使用數(shù)據(jù)庫和Web服務(wù)。
Sun Java Studio企業(yè)IDE
的Sun Java Studio企業(yè)版IDE是一套功能強大的工具,它提供了企業(yè)級,快速Web應(yīng)用程序開發(fā)的集成框架。它為Web服務(wù)和基于Java EE技術(shù)的應(yīng)用程序的開發(fā)提供增強的調(diào)試和開發(fā)支持。
Sun Java Studio Enterprise IDE是基于NetBeans IDE并擴展的。它還支持智能代碼編輯,例如為您完成代碼,重構(gòu),在應(yīng)用程序中重命名對象。它還能夠?qū)崿F(xiàn)具有佳終用戶體驗的應(yīng)用程序的性能調(diào)整 - 確保更好地使用內(nèi)存等。
Sun Java Studio Enterprise IDE提供了利用UML的由模型驅(qū)動的分析,設(shè)計和開發(fā)環(huán)境。這種集成功能降低了軟件開發(fā)項目的復(fù)雜性并提高了視覺清晰度,確保在整個企業(yè)中建立并傳達良好的架構(gòu)。
既然您熟悉了在Web應(yīng)用程序中使用的許多Java技術(shù),您就可以開發(fā)自己的應(yīng)用程序了。在即將到來的一系列文章中,您將學(xué)習(xí)如何使用Sun Java Studio Creator IDE創(chuàng)建Web應(yīng)用程序,您可以免費下載這些應(yīng)用程序,并了解如何使用本文中提到的Java技術(shù)。您將首先創(chuàng)建小型簡單應(yīng)用程序,然后處理更復(fù)雜的程序。同時,請按照本文中的鏈接了解有關(guān)本文中討論的Java技術(shù)的更多信息。