版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第
1
章JSP概述1.1JSP技術(shù)概述1.2JSP技術(shù)特征1.3JSP的處理過程1.4JSP與其他服務(wù)器端腳本語言的比較1.5JSP開發(fā)環(huán)境搭建1.6JSP開發(fā)工具1.7JSP程序開發(fā)模式1.8第一個JSP應(yīng)用√√√√√√√√1.1JSP技術(shù)概述
在了解JSP技術(shù)之前,首先需要了解與JSP技術(shù)相關(guān)的一些概念,這樣有助于學(xué)習(xí)后面的內(nèi)容。Java語言Servlet技術(shù)JavaBean技術(shù)JSP技術(shù)√√√√1.2JSP技術(shù)特征跨平臺分離靜態(tài)內(nèi)容和動態(tài)內(nèi)容可重復(fù)使用的組件沿用了JavaServlet的所有功能預(yù)編譯√√√√√1.4JSP與其他服務(wù)器端腳本語言的比較CGIASPPHPASP.NET
√√√√1.5JSP開發(fā)環(huán)境搭建JSP的運行環(huán)境JDK的安裝與配置Tomcat的安裝與啟動√√√1.6JSP開發(fā)工具Eclipse是一個基于Java的、開放源碼的、可擴展的應(yīng)用開發(fā)平臺,它為編程人員提供了一流的Java集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)。它是一個可以用于構(gòu)建集成Web和應(yīng)用程序開發(fā)工具的平臺,其本身并不會提供大量的功能,而是通過插件來實現(xiàn)程序的快速開發(fā)功能。
Eclipse是一個成熟的可擴展的體系結(jié)構(gòu),它的價值體現(xiàn)在為創(chuàng)建可擴展的開發(fā)環(huán)境提供了一個開放源代碼的平臺。這個平臺允許任何人構(gòu)建與環(huán)境或其他工具無縫集成的工具,而工具與Eclipse無縫集成的關(guān)鍵是插件。1.6JSP開發(fā)工具Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),PDE主要針對那些希望擴展Eclipse的編程人員而設(shè)定的。這也正是Eclipse最具魅力的地方。通過不斷地集成各種插件,Eclipse的功能也在不斷地擴展,以便支持各種不同的應(yīng)用。
雖然Eclipse是針對Java語言而設(shè)計開發(fā)的,但是它的用途并不局限于Java語言,通過安裝不同的插件,Eclipse還可以支持諸如C/C++、PHP、COBOL等編程語言。1.6JSP開發(fā)工具Eclipse的安裝與啟動安裝MyEclipse插件Eclipse3.2快捷鍵應(yīng)用Eclipse開發(fā)簡單的JSP程序√√√√1.7JSP程序開發(fā)模式單純的JSP頁面編程JSP+JavaBean編程JSP+Servlet+JavaBean編程MVC模式√√√√單純的JSP編程
在單純的JSP編程模式下,通過應(yīng)用JSP中的腳本標志,可直接在JSP頁面中實現(xiàn)各種功能。雖然這種模式很容易實現(xiàn),但是其缺點也非常明顯。因為將大部分的Java代碼與HTML代碼混淆在一起,會給程序的維護和調(diào)試帶來很多的困難,而且對于整個程序的結(jié)構(gòu)更是無從談起。這就好比規(guī)劃管理一個大的企業(yè),如果將負責(zé)不同任務(wù)的所有員工都安排在一起工作,勢必會造成公司秩序混亂、不易管理等許多的隱患。所以說,單純的JSP頁面編程模式是無法應(yīng)用到大型、中型甚至小型的JSPWeb應(yīng)用程序開發(fā)中。JSP+JavaBean編程
該模式是JSP程序開發(fā)經(jīng)典設(shè)計模式之一,適合小型或中型網(wǎng)站的開發(fā)。利用JavaBean技術(shù),可以很容易地完成一些業(yè)務(wù)邏輯上的操作,例如數(shù)據(jù)庫的連接、用戶登錄與注銷等。JavaBean是一個遵循了一定規(guī)則的Java類,在程序的開發(fā)中,將要進行的業(yè)務(wù)邏輯封裝到這個類中,在JSP頁面中通過動作標簽來調(diào)用這個類,從而執(zhí)行這個業(yè)務(wù)邏輯。此時的JSP除了負責(zé)部分流程的控制外,大部分用來顯示頁面,而JavaBean則負責(zé)業(yè)務(wù)邏輯的處理??梢钥闯?,該模式具有一個比較清晰的程序結(jié)構(gòu),在JSP技術(shù)的起步階段,JSP+JavaBean設(shè)計模式曾被廣泛應(yīng)用。下面將通過一個流程圖說明該模式對客戶端的請求進行處理的過程。JSP+JavaBean編程客戶端帶有JSP引擎的Web服務(wù)器用戶通過客戶端瀏覽器請求服務(wù)器服務(wù)器將最終的結(jié)果返回給客戶端瀏覽器進行顯示JSP頁面JavaBean業(yè)務(wù)邏輯數(shù)據(jù)庫在JavaBean中連接及操作數(shù)據(jù)庫,或?qū)崿F(xiàn)其他業(yè)務(wù)邏輯在JSP頁面中調(diào)用JavaBean服務(wù)器接收用戶請求后調(diào)用JSP頁JavaBean將執(zhí)行的結(jié)果返回JSP頁面服務(wù)器讀取JSP頁面中的內(nèi)容(將頁面中的靜態(tài)與動態(tài)內(nèi)容相結(jié)合)JSP+Servlet+JavaBean編程JSP+JavaBean設(shè)計模式雖然已經(jīng)將網(wǎng)站的業(yè)務(wù)邏輯和顯示頁面進行分離,但這種模式下的JSP不但要進行程序中大部分的流程控制,而且還要負責(zé)頁面的顯示,所以仍然不是一種理想的設(shè)計模式。在JSP+JavaBean設(shè)計模式的基礎(chǔ)上加入Servlet來實現(xiàn)程序中的控制層,是一個很好的選擇。在這種模式中,由Servlet來執(zhí)行業(yè)務(wù)邏輯并負責(zé)程序的流程控制,JavaBean組件實現(xiàn)業(yè)務(wù)邏輯,充當(dāng)著模型的角色,JSP用于頁面的顯示??梢钥闯鲞@種模式使得程序中的層次關(guān)系更明顯,各組件的分工也非常明確。下面將通過一個流程圖說明該模式對客戶端的請求進行處理的過程。JSP+Servlet+JavaBean編程客戶端帶有JSP引擎的Web服務(wù)器用戶通過客戶端瀏覽器請求服務(wù)器服務(wù)器將最終的結(jié)果返回給客戶端瀏覽器進行顯示JSP頁面JavaBean業(yè)務(wù)邏輯數(shù)據(jù)庫在JavaBean中連接及操作數(shù)據(jù)庫,或?qū)崿F(xiàn)其他業(yè)務(wù)邏輯服務(wù)器接收用戶請求后調(diào)用ServletServlet根據(jù)用戶請求調(diào)用JavaBean處理業(yè)務(wù)服務(wù)器讀取JSP頁面中的內(nèi)容(將頁面中的靜態(tài)與動態(tài)的內(nèi)容相結(jié)合)請求響應(yīng)Servlet調(diào)用轉(zhuǎn)發(fā)由Servlet轉(zhuǎn)發(fā)請求到JSP頁面JavaBean將結(jié)果返回Servlet,在Servlet中將結(jié)果保存到請求對象中JSP+Servlet+JavaBean編程
但JSP+Servlet+JavaBean模式同樣也存在缺點。該模式遵循了MVC設(shè)計模式,MVC只是一個抽象的設(shè)計概念,它將待開發(fā)的應(yīng)用程序分解為三個獨立的部分:模型(Model)、視圖(View)和控制器(Controller)。雖然用來實現(xiàn)MVC設(shè)計模式的技術(shù)可能都是相同的,但各公司都有自己的MVC架構(gòu)。也就是說,這些公司用來實現(xiàn)自己的MVC架構(gòu)所應(yīng)用的技術(shù)可能都是JSP、Servlet與JavaBean,但他們的流程及設(shè)計卻是不同的,所以工程師需要花更多的時間去了解。從項目的開發(fā)觀點上來說,因為需要設(shè)計MVC各對象之間的數(shù)據(jù)交換格式與方法,所以會需要花費更多的時間在系統(tǒng)的設(shè)計上。JSP+Servlet+JavaBean編程
使用JSP+Servlet+JavaBean模式進行項目開發(fā)時,可以選擇一個實現(xiàn)了MVC模式的現(xiàn)成的框架,在此下進行開發(fā),大大節(jié)省了開發(fā)時間,會取得事半功倍的效果。目前已有很多可以使用的現(xiàn)成的MVC框架,例如Struts框架。
JSP+JavaBean編程與JSP+Servlet+JavaBean編程,是JSP開發(fā)中的兩種經(jīng)典設(shè)計模式。MVC模式MVC(Model-View-Controller,模型—視圖—控制器)是一種程序設(shè)計概念,它同時適用于簡單的和復(fù)雜的程序。使用該模式可將待開發(fā)的應(yīng)用程序分解為3個獨立的部分:模型、視圖和控制器。提出這種設(shè)計模式主要是因為應(yīng)用程序中用來完成任務(wù)的代碼——模型(也稱為“業(yè)務(wù)邏輯”)通常是程序中相對穩(wěn)定的部分,并且會被重復(fù)使用,而程序與用戶進行交互的頁面——視圖,卻是經(jīng)常改變的。如果因需要更新頁面而不得不對業(yè)務(wù)邏輯代碼進行改動,或者要在不同的模塊中應(yīng)用到相同的功能而重復(fù)地編寫業(yè)務(wù)邏輯代碼,不僅降低了整體程序開發(fā)的進程,而且會使程序變得難以維護。因此,將業(yè)務(wù)邏輯代碼與外觀呈現(xiàn)分離,將會更容易地根據(jù)需求的改變來改進程序。MVC模式MVC模式中的Model(模型)指的是業(yè)務(wù)邏輯的代碼,是應(yīng)用程序中真正用來完成任務(wù)的部分。
View(視圖),實際上就是程序與用戶進行交互的界面,用戶可以看到它的存在。視圖可以具備一定的功能并應(yīng)遵守對其的約束,在視圖中不應(yīng)包含對數(shù)據(jù)處理的代碼,即業(yè)務(wù)邏輯代碼。
Controller(控制器),主要控制用戶請求并作出響應(yīng)。它根據(jù)用戶的請求選擇模型或修改模型,并決定返回怎樣的視圖。Eclipse3.2開發(fā)工具中常用快捷鍵名稱功能名稱功能F3跳轉(zhuǎn)到類或變量的聲明Ctrl+D刪除光標所在行的代碼Alt+上下方向鍵將選中的一行或多行向上或向下移動Alt+/代碼提示Ctrl+K將光標停留在變量上,按Ctrl+K鍵可查找下一個同樣的變量Ctrl+O打開視圖的小窗口Alt+左右方向鍵跳到前一次或/后一次的編輯位置,在代碼跟蹤時用的比較多Ctrl+W關(guān)閉單個窗口Ctrl+/注釋或取消注釋Ctrl+鼠標單擊可以跟蹤方法和類的源碼Ctrl+鼠標停留可以顯示方法和類的源碼Ctrl+Shift+K和Ctrl+K鍵查找的方向相反Ctrl+M將當(dāng)前視圖最大化Ctrl+Shift+O快速地導(dǎo)入類的路徑Ctrl+l光標停留在某變量,按Ctrl+l鍵,可提供快速實現(xiàn)的重構(gòu)方法。選中若干行,按Ctrl+l鍵可將此段代碼放入for,while,if,do或try等代碼塊中Ctrl+Shift+F代碼格式化。如果將代碼進行部分選擇,僅對所選代碼進行格式化Ctrl+Q回到最后編輯的位置Ctrl+Shift+X將所選字符轉(zhuǎn)為大寫Ctrl+F6切換窗口Ctrl+Shift+Y將所選字符轉(zhuǎn)為小寫Ctrl+Shift+/注釋代碼塊Ctrl+Shift+D在debug模式里顯示變量值Ctrl+Shift+\取消注釋代碼塊Ctrl+Shift+T查找工程中的類Ctrl+Shift+M導(dǎo)入未引用的包Ctrl+Alt+Down復(fù)制光標所在行至其下一行雙擊左括號(小括號,中括號,大括號)將選擇括號內(nèi)的所有內(nèi)容JSP的運行環(huán)境
使用JSP進行開發(fā),需要具備以下對應(yīng)的運行環(huán)境:Web瀏覽器、Web服務(wù)器、JDK開發(fā)工具包以及數(shù)據(jù)庫。下面分別介紹這些環(huán)境。1.Web瀏覽器瀏覽器主要用于客戶端用戶訪問Web應(yīng)用的工具,與開發(fā)JSP應(yīng)用不存在很大的關(guān)系,所以開發(fā)JSP對瀏覽器的要求并不是很高,任何支持HTML的瀏覽器都可以。JSP的運行環(huán)境2.Web服務(wù)器Web服務(wù)器是運行及發(fā)布Web應(yīng)用的大容器,只有將開發(fā)的Web項目放置到該容器中,才能使網(wǎng)絡(luò)中的所有用戶通過瀏覽器進行訪問。開發(fā)JSP應(yīng)用所采用的服務(wù)器主要是Servlet兼容的Web服務(wù)器,比較常用的有BEAWebLogic、IBMWebSphere和ApacheTomcat等。JSP的運行環(huán)境Weblogic是BEA公司的產(chǎn)品,它又分為WebLogicServer、WebLogicEnterprise和WebLogicPortal系列,其中WebLogicServer的功能特別強大,它支持企業(yè)級的、多層次的和完全分布式的Web應(yīng)用,并且服務(wù)器的配置簡單、界面友好,對于那些正在尋求能夠提供Java平臺所擁有的一切的應(yīng)用服務(wù)器的用戶來說,WebLogic是一個十分理想的選擇。JSP的運行環(huán)境Tomcat服務(wù)器最為流行,它是Apache-Jarkarta開源項目中的一個子項目,是一個小型的、輕量級的、支持JSP和Servlet技術(shù)的Web服務(wù)器,它已經(jīng)成為學(xué)習(xí)開發(fā)JSP應(yīng)用的首選。目前Tomcat的最新版本為apache-tomcat-6.0.16。JSP的運行環(huán)境3.JDKJDK(JavaDevelopKit,Java開發(fā)工具包)包括運行Java程序所必須的JRE環(huán)境及開發(fā)過程中常用的庫文件。在使用JSP開發(fā)網(wǎng)站之前,首先必須安裝JDK,目前JDK的最新版本為jdk1.6.0_03。4.?dāng)?shù)據(jù)庫任何項目的開發(fā)幾乎都需要使用數(shù)據(jù)庫,數(shù)據(jù)庫用來存儲項目中需要的信息。根據(jù)項目的規(guī)模,應(yīng)采用合適的數(shù)據(jù)庫。如大型項目可采用Oracle數(shù)據(jù)庫,中型項目可采用MicosoftSQLServer或MySQL數(shù)據(jù)庫,小型項目可采用MicrosoftAccess數(shù)據(jù)庫。MicrosoftAccess數(shù)據(jù)庫的功能遠比不上MicrosoftSQLServer和MySQL強大,但它具有方便、靈活的特點,對于一些小型項目來說是比較理想的選擇。JSP的運行環(huán)境1.3JSP的處理過程
當(dāng)客戶端瀏覽器向服務(wù)器發(fā)出請求訪問一個JSP頁面時,服務(wù)器根據(jù)該請求加載相應(yīng)的JSP頁面,并對該頁面進行編譯,然后執(zhí)行。
JSP的具體處理過程如下圖所示。1.3JSP的處理過程客戶端帶有JSP引擎的Web服務(wù)器JSP文件Servlet代碼Class文件客戶端通過瀏覽器向服務(wù)器發(fā)出請求,在該請求中包含了請求的資源的路徑,這樣當(dāng)服務(wù)器接收到該請求后就可以知道被請求的資源請求響應(yīng)服務(wù)器根據(jù)接收到的客戶端的請求來加載被請求的JSP文件加載轉(zhuǎn)化Web服務(wù)器中的JSP引擎會將被加載的JSP文件轉(zhuǎn)化為Servlet編譯執(zhí)行注:虛線箭頭代表服務(wù)器的操作JSP引擎將生成的Servlet代碼編譯成Class文件服務(wù)器執(zhí)行這個Class文件服務(wù)器將執(zhí)行結(jié)果發(fā)送給瀏覽器進行顯示1.3JSP的處理過程
從前面的介紹中,可以知道JSP文件被JSP引擎進行轉(zhuǎn)換后,又被編譯成了Class文件,最終由服務(wù)器通過執(zhí)行這個Class文件來對客戶端的請求進行響應(yīng)。但并不是每次請求都需要重復(fù)進行這樣的處理。當(dāng)服務(wù)器第一次接收到對某個頁面的請求時,JSP引擎就開始進行上述的處理過程,將被請求的JSP文件編譯成Class文件。在后續(xù)對該頁面再次進行請求時,若頁面沒有進行任何改動,服務(wù)器只需直接調(diào)用Class文件執(zhí)行即可。所以當(dāng)某個JSP頁面第一次被請求時,會有一些延遲,而再次訪問時會感覺快了很多。如果被請求的頁面經(jīng)過修改,服務(wù)器將會重新編譯這個文件,然后執(zhí)行。CGICGI(CommonGatewayInterface)即通用網(wǎng)關(guān)接口。是最早用來創(chuàng)建動態(tài)網(wǎng)頁的一種技術(shù),它可以使瀏覽器與服務(wù)器之間產(chǎn)生互動關(guān)系。它允許使用不同的語言來編寫適合的CGI程序,該程序被放在Web服務(wù)器上運行。當(dāng)客戶端發(fā)出請求給服務(wù)器時,服務(wù)器根據(jù)客戶請求建立一個新的進程來執(zhí)行指定的CGI程序,并將執(zhí)行結(jié)果以網(wǎng)頁的類型傳輸?shù)娇蛻舳说臑g覽器上進行顯示。CGI可以說是當(dāng)前應(yīng)用程序的基礎(chǔ)技術(shù),但這種技術(shù)編制方式比較困難而且效率低下,因為每次頁面被請求的時候,都要求服務(wù)器重新將CGI程序編譯成可執(zhí)行的代碼。在CGI中使用最為常見的語言為C/C++、Java和Perl(PracticalExtractionandReportLanguage,文件分析報告語言)。ASP
ASP(ActiveServerPage)是一種使用很廣泛的開發(fā)動態(tài)網(wǎng)站的技術(shù)。它通過在頁面代碼中嵌入VBScript或JavaScript腳本語言來生成動態(tài)的內(nèi)容,在服務(wù)器端必須安裝了適當(dāng)?shù)慕忉屍骱?,才可以通過調(diào)用此解釋器來執(zhí)行腳本程序,然后將執(zhí)行結(jié)果與靜態(tài)內(nèi)容部分結(jié)合并傳送到客戶端瀏覽器上。對于一些復(fù)雜的操作,ASP可以調(diào)用存在于后臺的COM組件來完成,所以說COM組件無限地擴充了ASP的能力;正因如此依賴本地的COM組件,使得ASP主要用于Windows平臺中。ASP存在很多優(yōu)點,簡單易學(xué),并且ASP是與微軟的IIS捆綁在一起,在安裝Windows2000、WindowsXP的同時安裝上IIS,就可以運行ASP應(yīng)用程序了。PHP
PHP來自于PersonalHomePage一詞,但現(xiàn)在的PHP已經(jīng)不再表示名詞的縮寫,而是一種開發(fā)動態(tài)網(wǎng)頁技術(shù)的名稱。PHP語法類似于C,并且混合了Perl、C++和Java的一些特性。它是一種開源的Web服務(wù)器腳本語言,與ASP和JSP一樣可以在頁面中加入腳本代碼來生成動態(tài)內(nèi)容。對于一些復(fù)雜的操作可以封裝到函數(shù)或類中,在PHP中提供了許多已經(jīng)定義好的函數(shù),例如提供的標準的數(shù)據(jù)庫接口,使得數(shù)據(jù)庫連接方便,擴展性強。PHP可以被多個平臺支持,主要被廣泛應(yīng)用于UNIX/Linux平臺。由于PHP本身的代碼對外開放,經(jīng)過許多軟件工程師的檢測,因此到目前為止該技術(shù)具有公認的安全性能。ASP.NET
ASP.NET也是一種建立動態(tài)Web應(yīng)用程序的技術(shù),它是.NET框架的一部分,可以使用任何.NET兼容的語言,如VisualBasic.NET,C#,J#等來編寫ASP.NET應(yīng)用程序。這種ASP.NET頁面(WebForms)編譯后可以提供比腳本語言更出色的性能表現(xiàn)。WebForms允許在網(wǎng)頁基礎(chǔ)上建立強大的窗體。當(dāng)建立頁面時,可以使用ASP.NET服務(wù)端控件來建立常用的UI元素,并對它們編程來完成一般的任務(wù)。這些控件允許開發(fā)者使用內(nèi)建可重用的組件和自定義組件來快速建立WebForm,使代碼簡單化。Java語言Java語言是由Sun公司于1995年推出的編程語言,一經(jīng)推出,就贏得了業(yè)界的一致好評,并受到了廣泛關(guān)注。Java語言適用于Internet環(huán)境,目前已成為開發(fā)Internet應(yīng)用的主要語言之一。它具有簡單、面向?qū)ο?、可移植性、分布性、解釋器通用性、穩(wěn)健、多線程、安全和高性能等優(yōu)點。其中最重要的就是實現(xiàn)了跨平臺運行,這使得應(yīng)用Java開發(fā)的程序可以方便地移植到不同的操作系統(tǒng)中運行。Java語言Java是完全面向?qū)ο蟮木幊陶Z言,它的語法規(guī)則和C++類似,但Java語言對C++進行了簡化和提高。例如,C語言中的指針和多重繼承通常會使程序變得復(fù)雜,而Java通過接口取代了多重繼承,并取消了指針、內(nèi)存的申請和釋放等影響系統(tǒng)安全的部分。Java語言
在Java語言中,最小的單位是類,不允許在類外面定義變量和方法,所以就不存在所謂的“全局變量”這一概念。在Java類中定義的變量和方法分別稱為成員變量和成員方法,其中成員變量也叫做類的屬性。在定義這些類的成員時,需要通過權(quán)限修飾符來聲明它們的使用范圍。
Java語言編寫的程序應(yīng)被保存為后綴名為.java的文件,然后編譯成后綴名為.class的字節(jié)碼文件,最終通過執(zhí)行該字節(jié)碼文件執(zhí)行Java程序。Servlet技術(shù)Servlet是在JSP之前就存在的運行在服務(wù)端的一種Java技術(shù),它是用Java語言編寫的服務(wù)器端程序,Java語言能夠?qū)崿F(xiàn)的功能,Servlet基本上都可以實現(xiàn)(除圖形界面外)。Servlet主要用于處理Http請求,并將處理的結(jié)果傳遞給瀏覽器生成動態(tài)Web頁面。Servlet具有可移植(可在多種系統(tǒng)平臺和服務(wù)器平臺下運行)、功能強大、安全、可擴展和靈活等優(yōu)點。Servlet技術(shù)在JSP中用到的Servlet通常都繼承自javax.servlet.http.HttpServlet類,在該類中實現(xiàn)了用來處理Http請求的大部分功能。JSP是在Servlet的基礎(chǔ)上開發(fā)的一種新的技術(shù),所以JSP與Servlet有著密不可分的關(guān)系。JSP頁面在執(zhí)行過程中會被轉(zhuǎn)換為Servlet,然后由服務(wù)器執(zhí)行該Servlet。JavaBean技術(shù)JavaBean是根據(jù)特殊的規(guī)范編寫的普通的Java類,可稱它們?yōu)椤蔼毩⒌慕M件”。每一個JavaBean實現(xiàn)一個特定的功能,通過合理地組織具有不同功能的JavaBean,可以快速地生成一個全新的應(yīng)用程序。如果將這個應(yīng)用程序比作一輛汽車,那么程序中的JavaBean就好比組成這輛汽車的不同零件。對于程序開發(fā)人員來說,JavaBean的最大優(yōu)點就是充分提高了代碼的可重用性,并且對程序的后期維護和擴展起到了積極的作用。JavaBean技術(shù)JavaBean可按功能劃分為可視化和不可視化兩種。可視化JavaBean主要應(yīng)用在圖形界面編程的領(lǐng)域中,在JSP中通常應(yīng)用不可視化JavaBean,應(yīng)用這種JavaBean可用來封裝各種業(yè)務(wù)邏輯,例如連接數(shù)據(jù)庫、獲取當(dāng)前時間等。這樣,當(dāng)在開發(fā)程序的過程中需要連接數(shù)據(jù)庫或?qū)崿F(xiàn)其他功能時,就可直接在JSP頁面或Servlet中調(diào)用實現(xiàn)該功能的JavaBean來實現(xiàn)。通過應(yīng)用JavaBean,可以很好地將業(yè)務(wù)邏輯和前臺顯示代碼分離,這大大提高了代碼的可讀性和易維護性。JSP技術(shù)JavaServerPages簡稱JSP,是由Sun公司倡導(dǎo),與多個公司共同建立的一種技術(shù)標準,它建立在Servlet之上。應(yīng)用JSP,程序員或非程序員可以高效率地創(chuàng)建Web應(yīng)用程序,并使得開發(fā)的Web應(yīng)用程序具有安全性高、跨平臺等優(yōu)點。
JSP是運行在服務(wù)器端的腳本語言之一,與其他的服務(wù)器端腳本語言一樣,是用來開發(fā)動態(tài)網(wǎng)頁的一種技術(shù)。JSP技術(shù)JSP頁面由傳統(tǒng)的HTML代碼和嵌入到其中的Java代碼組成。當(dāng)用戶請求一個JSP頁面時,服務(wù)器會執(zhí)行這些Java代碼,然后將結(jié)果與頁面中的靜態(tài)部分相結(jié)合返回給客戶端瀏覽器。JSP頁面中還包含了各種特殊的JSP元素,通過這些元素可以訪問其他的動態(tài)內(nèi)容并將它們嵌入到頁面中,例如訪問JavaBean組件的<jsp:useBean>動作元素。程序員還可以通過編寫自己的元素來實現(xiàn)特定的功能,開發(fā)出更為強大的Web應(yīng)用程序。JSP技術(shù)
JSP是在Servlet的基礎(chǔ)上開發(fā)的技術(shù),它繼承了JavaServlet的各項優(yōu)秀功能。而JavaServlet是作為Java的一種解決方案,在制作網(wǎng)頁的過程中,它繼承了Java的所有特性。因此JSP同樣繼承了Java技術(shù)的簡單、便利、面向?qū)ο?、跨平臺和安全可靠等優(yōu)點,比起其他服務(wù)器腳本語言,JSP更加簡單、迅速和有力。在JSP中利用JavaBean和JSP元素,可以有效地將靜態(tài)的HTML代碼和動態(tài)數(shù)據(jù)區(qū)分開來,給程序的修改和擴展帶來了很大方便??缙脚_JSP是以Java為基礎(chǔ)開發(fā)的,所以它不僅可以沿用Java強大的API功能,而且不管是在何種平臺下,只要服務(wù)器支持JSP,就可以運行使用JSP開發(fā)的Web應(yīng)用程序,體現(xiàn)了它的跨平臺、跨服務(wù)器的特點。例如在WindowsNT下的IIS通過JRUN或ServletExec插件就能支持JSP。如今最流行的Web服務(wù)器Apache同樣能夠支持JSP,而且Apache支持多種平臺,從而使得JSP可以在多個平臺上運行??缙脚_
在數(shù)據(jù)庫操作中,因為JDBC同樣是獨立于平臺的,所以在JSP中使用JavaAPI提供的JDBC來連接數(shù)據(jù)庫時,就不用擔(dān)心平臺變更時的代碼移植問題。正是因為Java的這種特征,使得應(yīng)用JSP開發(fā)的Web應(yīng)用程序能夠很簡單地運用到不同的平臺上。分離靜態(tài)內(nèi)容和動態(tài)內(nèi)容
在前面提到的JavaServlet,對于開發(fā)Web應(yīng)用程序而言是一種很好的技術(shù)。但同時面臨著一個問題:所有的內(nèi)容必須在Java代碼中來完成,包括HTML代碼同樣要嵌入到程序代碼中來生成靜態(tài)的內(nèi)容。這使得即使因HTML代碼出現(xiàn)的小問題,也需要有熟悉JavaServlet的程序員來解決。分離靜態(tài)內(nèi)容和動態(tài)內(nèi)容
JSP彌補了JavaServlet在工作中的不足。使用JSP,程序員可以使用HTML或XML標記來設(shè)計和格式化靜態(tài)內(nèi)容,并通過JSP標記及JavaBean組件來制作動態(tài)內(nèi)容。服務(wù)器將執(zhí)行JSP標記和小腳本程序,并將結(jié)果與頁面中的靜態(tài)部分結(jié)合后以HTML頁面的形式發(fā)送給客戶端瀏覽器。程序員可以將一些業(yè)務(wù)邏輯封裝到JavaBean組件中,Web頁面的設(shè)計人員可以利用程序員開發(fā)的JavaBean組件和JSP標記來制作出動態(tài)頁面,而且不會影響到內(nèi)容的生成。將靜態(tài)內(nèi)容與動態(tài)內(nèi)容的明確分離,是以JavaServlet開發(fā)Web應(yīng)用發(fā)展為以JSP開發(fā)Web應(yīng)用的重要因素之一??芍貜?fù)使用的組件
JavaBean組件是JSP中不可缺少的重要組成部分之一,程序通過JavaBean組件來執(zhí)行所要求的更為復(fù)雜的運算。JavaBean組件不僅可以應(yīng)用于JSP中,同樣適用于其他的Java應(yīng)用程序中。這種特性使得開發(fā)人員之間可以共享JavaBean組件,加快了應(yīng)用程序的總體開發(fā)進程。
同樣,JSP的標準標簽和自定義標簽與JavaBean組件一樣可以一次生成重復(fù)使用。這些標簽都是通過編寫的程序代碼來實現(xiàn)特定功能的,在使用它們時與通常在頁面中用到的HTML標記用法相同。這樣可以將一個復(fù)雜而且需要出現(xiàn)多次的操作簡單化,大大提高了工作效率。沿用了JavaServlet的所有功能
相對于JavaServlet來說,使用從JavaServlet發(fā)展而來的JSP技術(shù)開發(fā)Web應(yīng)用更加簡單易學(xué),并且JSP同樣提供了JavaServlet所有的特性。實際上服務(wù)器在執(zhí)行JSP文件時先將其轉(zhuǎn)換為Servlet代碼,然后再對其進行編譯,可以說JSP就是Servlet,創(chuàng)建一個JSP文件其實就是創(chuàng)建一個Servlet文件的簡化操作。理所當(dāng)然,Servlet中的所有特性在JSP中同樣可以使用。預(yù)編譯
預(yù)編譯是JSP的另一個重要的特性。JSP頁面在被服務(wù)器執(zhí)行前,都是已經(jīng)被編譯好的,并且通常只進行一次編譯,即在JSP頁面被第一次請求時進行編譯,在后續(xù)的請求中如果JSP頁面沒有被修改過,服務(wù)器只需要直接調(diào)用這些已經(jīng)被編譯好的代碼,這大大提高了訪問速度。/downloads/products/eworkbench/7.0/myeclipse-7.1-win32.exeHTML入門HTML英語意思是:HypertextMarkedLanguage,即超文本標記語言通過HTML可以表現(xiàn)出豐富多彩的設(shè)計風(fēng)格通過HTML可以展現(xiàn)多媒體的效果標簽“<標簽名字屬性>”HTML的基本結(jié)構(gòu)文檔頭、文檔體<HTML>
<HEAD>
頭部信息
</HEAD>
<BODY>
文檔主體,正文部分
</BODY></HTML>HTML的基本結(jié)構(gòu)下面是一個最基本的超文本文檔的源代碼:<HTML><HEAD>
<TITLE>一個簡單的HTML示例</TITLE>
</HEAD><BODY>
<CENTER>
<H3>歡迎光臨我的主頁</H3>
<BR>
<HR>
<FONTSIZE=2>
這是我第一次做主頁,無論怎么樣,我都會努力做好!
</FONT>
</CENTER>
</BODY>
</HTML>超文本中的標簽單標簽
<標簽名稱><BR>雙標簽
<標簽>內(nèi)容</標簽>
<APPLET></APPLET>
標簽屬性
<標簽名字屬性1屬性2屬性3…><APPLETCODE="Calculator.class"width=150height=200>頁面布局及文字設(shè)計標題換行<BR>段落標簽<P>水平線段<HR>文字的大小設(shè)置文字的字體與樣式文字的顏色位置控制綜合示例標題HTML中提供了相應(yīng)的標題標簽<Hn>,總共提供六個等級,n越小,標題字號就越大<H1>…</H1>第一級標題
<H2>…</H2>第二級標題
<H3>…</H3>第三級標題
<H4>…</H4>第四級標題
<H5>…</H5>第五級標題
<H6>…</H6>第六級標題
請看例子換行<BR>在HTML語言規(guī)范里,每當(dāng)瀏覽器窗口被縮小時,瀏覽器會自動將右邊的文字轉(zhuǎn)折至下一行。所以,編寫者對于自己需要斷行的地方,應(yīng)加上<BR>標簽。段落標簽<P>文件段落的開始由<P>來標記,段落的結(jié)束由</P>來標記,</P>是可以省略的,因為下一個<P>的開始就意味著上一個<P>的結(jié)束<P>標簽還有一個屬性ALIGN,它用來指名字符顯示時的對齊方式,一般值有CENTER、LEFT、RIGHT三種請看例子水平線段<HR>這個標簽可以在屏幕上顯示一條水平線,用以分割頁面中的不同部分。<HR>有四個屬性:
size水平線的寬度
width
水平線的長,用占屏幕寬度的百分比或象素值來表示
align
水平線的對齊方式,有LEFTRIGHTCENTER三種
noshade
線段無陰影屬性,為實心線段水平線段<HR>線段粗細的設(shè)定
線段長度的設(shè)定線段排列的設(shè)定無陰影的設(shè)定
請看例子文字的大小設(shè)置提供設(shè)置字號大小的是FONT,F(xiàn)ONT有一個屬性SIZE,通過指定SIZE屬性就能設(shè)置字號大小,而SIZE屬性的有效值范圍為1-7,其中缺省值為3。我們可以SIZE屬性值之前加上“+”、“-”字符,來指定相對于字號初始值的增量或減量。請看示例文字的字體與樣式HTML提供了定義字體的功能,用FACE屬性來完成這個工作。FACE的屬性值可以是本機上的任一字體類型,只有對方的電腦中裝有相同的字體才可以在他的瀏覽器中出現(xiàn)你預(yù)先設(shè)計的風(fēng)格。
<fontface=“字體”>請看例子文字的字體與樣式為了讓文字富有變化,或者為了著意強調(diào)某一部分,HTML提供了一些標簽產(chǎn)生這些效果,現(xiàn)將常用的標簽列舉如下:<B>
</B>粗體HTML語言<I>
</I>斜體HTML語言<U>
</U>加下劃線HTML語言<TT>
<TT>打字機字體HTML語言<BIG>
</BIG>大型字體HTML語言<SMALL>
</SMALL>小型字體HTML語言<EM>
</EM>表示強調(diào),一般為斜體HTML語言<STRONG></STRONG>表示特別強調(diào),一般為粗體HTML語言<CITE></CITE>用于引證、舉例,一般為斜體HTML語言文字的顏色文字顏色設(shè)置格式如下:
<fontcolor=color_value>…</font>
這里的顏色值可以是一個十六進制數(shù)(用“#”作為前綴),也可以是顏色名稱如:Black="#000000“Green="#00FF00"
Red="#FF0000“Blue="#0000FF“請看例子列表無序號列表序號列表無序號列表無序號列表使用的一對標簽是<ul></ul>,每一個列表項前使用<LI>。其結(jié)構(gòu)如下所示:
<UL>
<LI>第一項
<LI>第二項
<LI>第三項
</UL>請看例子序號列表序號列表和無序號列表的使用方法基本相同,它使用標簽<OL></OL>,每一個列表項前使用<LI>。每個項目都有前后順序之分,多數(shù)用數(shù)字表示。其結(jié)構(gòu)如下所示:
<OL>
<LI>第一項
<LI>第二項
<LI>第三項
</OL>多媒體效果插入圖象播放音樂播放視頻插入圖形超文本支持的圖象格式有GIF、JPEG等。
插入圖象的標簽是<IMG>,其格式為:
<IMGSRC="圖形文件地址">請看例子播放音樂點播音樂將音樂做成一個鏈接:<A
HREF="音樂地址">樂曲名</A>自動載入音樂
基本語法:
<EMBEDSRC="音樂文件地址">
播放視頻鏈接一個視頻文件將視頻文件做成一個鏈接的方法:
<A
HREF="視頻地址">視頻名稱</A>自動載入視頻與音樂的播放一樣,我們可以使用EMBED標簽播放視頻:
<EMBEDSRC=“視頻文件地址”>TABLE表格
表格的基本結(jié)構(gòu)表格的標題表格的尺寸設(shè)置表格內(nèi)文字的對齊、布局跨多行、多列的表元表格的顏色表格的基本結(jié)構(gòu)<table>...</table>定義表格
<caption>...</caption>定義標題
<tr>定義表行
<th>定義表頭
<td>定義表元(表格的具體數(shù)據(jù))
一個簡單的例子表格的標題表格標題的位置,可由ALIGN屬性來設(shè)置,其位置分別由表格上方和表格下方。下面為表格標題位置的設(shè)置格式。設(shè)置標題位于表格上方:
<captionalign=top>...</caption>設(shè)置標題位于表格下方:
<captionalign=bottom>...</caption>
表格尺寸設(shè)置表格的大小
一般情況下,表格的總長度和總寬度是根據(jù)各行和各列的總和自動調(diào)整的,如果我們要直接固定表格的大小,可以使用下列方式:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大二(文物與博物館學(xué))文物學(xué)概論試題及答案
- 2026年職業(yè)知識(知識考核)考題及答案
- 2026年注冊公用設(shè)備工程師(動力基礎(chǔ)考試上)試題及答案
- 2025年大學(xué)第三學(xué)年(高分子材料與工程)高分子合成技術(shù)階段測試試題及答案
- 火電廠熱工自動化
- 深度解析(2026)《GBT 18286-2000信息技術(shù) 文本通信用控制功能》(2026年)深度解析
- 深度解析(2026)《GBT 18017.2-1999訂艙確認報文 第2部分訂艙確認報文子集 訂艙確認報文》
- 深度解析(2026)《GBT 17848-1999犧牲陽極電化學(xué)性能試驗方法》
- 深度解析(2026)《GBT 17706-1999銷售預(yù)測報文》
- 深度解析(2026)《GBT 8210-2011柑桔鮮果檢驗方法》
- 2025中國氣象局在京單位第二批擬招聘52人(公共基礎(chǔ)知識)測試題附答案解析
- Unit 6 Changing for the seasons Part A Let's learn 課件 2025-2026學(xué)年人教PEP版英語四年級上冊
- 統(tǒng)編版語文三年級上冊第五單元復(fù)習(xí) 課件
- 2025年陜晉寧青高考地理試卷17題分析講解課件
- 2025年10月自考00319行政組織理論試題及答案含評分參考
- 安徽省江南十校2024-2025學(xué)年高二上學(xué)期12月聯(lián)考政治政治試卷
- 2025年《新聞傳播》知識考試題庫及答案解析
- 2025年中職航空服務(wù)(民航客運服務(wù))試題及答案
- 2025年河北邯鄲市復(fù)興區(qū)公開招錄聯(lián)合治超站崗位人員20人考試筆試備考題庫及答案解析
- (完整版)交管12123學(xué)法減分考試題庫及答案
- 車行投資車輛合同范本
評論
0/150
提交評論