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