官术网_书友最值得收藏!

4.1 JSP簡介

在Internet發(fā)展的最初階段,HTML語言只能在瀏覽器中顯示靜態(tài)的文本或圖像信息,這無法滿足人們對Web應(yīng)用豐富性和復(fù)雜性的強烈需求。隨著Internet和Web動態(tài)網(wǎng)站應(yīng)用到商業(yè)領(lǐng)域,Web動態(tài)網(wǎng)站的開發(fā)技術(shù)的功能也越來越強大。目前,解決Web動態(tài)網(wǎng)站的開發(fā)技術(shù)非常多,例如JSP、ASP、ASP.NET、PHP等,都得到了廣泛應(yīng)用。其中,JSP是目前被廣大開發(fā)者最為經(jīng)常使用的。

4.1.1 JSP的形成與發(fā)展

JSP(Java Server Pages)是由Sun公司于1999年推出的一項Web動態(tài)網(wǎng)站開發(fā)技術(shù),它是基于Servlet及整個Java體系之上的。利用該技術(shù)可以開發(fā)出功能強大、性能安全和跨平臺的動態(tài)站點。

使用JSP技術(shù)開發(fā)的網(wǎng)頁擴展名為*.jsp,它是在由HTML創(chuàng)建的傳統(tǒng)的靜態(tài)網(wǎng)頁文件中加入Java程序片斷(Scriptlet)及JSP標記構(gòu)建而成的。

JSP技術(shù)的前身是Servlet,Servlet是Sun公司的Java技術(shù)對CGI編程的應(yīng)對。它是完全由Java語言編寫的類,運行在Java服務(wù)器端中,能夠動態(tài)生成并返回包含客戶端需要的數(shù)據(jù)的HTML頁面。

與傳統(tǒng)的CGI技術(shù)相比,Servlet具有更高的效率,更容易使用,功能更強大,具有更好的可移植性,更節(jié)省投資。其詳細信息如表4.1所示。

表4.1 Servlet技術(shù)優(yōu)勢

但是遺憾的是,Servlet具有一個致命的缺點,那就是所有響應(yīng)代碼都是通過Servlet程序生成的。而且Servlet程序中大量的代碼都是用來生成HTML標記的,只有其中少部分代碼用做數(shù)據(jù)的處理和響應(yīng)。此外,開發(fā)Servlet程序起點要求較高,要求頁面設(shè)計人員必須熟悉Java語言。因此Servlet產(chǎn)生之后,沒有像PHP和ASP那樣,快速得到應(yīng)用。

因此Sun公司在結(jié)合了Servlet技術(shù)和ASP等Web動態(tài)網(wǎng)站開發(fā)技術(shù)各自的特點之后,又推出了JSP技術(shù),JSP技術(shù)完全繼承了Servlet技術(shù)的優(yōu)勢,并具備了新的優(yōu)勢。JSP相對于PHP和ASP技術(shù)有下面的優(yōu)勢,如表4.2所示。

表4.2 JSP優(yōu)勢

一種技術(shù)功能越是強大,其復(fù)雜性也就越高,JSP技術(shù)也不例外。在使用JSP技術(shù)成功編寫高效、安全的Web應(yīng)用的同時,JSP也有一些缺點。相對于ASP、PHP等其他Web動態(tài)網(wǎng)站開發(fā)技術(shù)來說,各自都有其優(yōu)缺點。其詳細信息如表4.3所示。

表4.3 JSP、PHP和ASP技術(shù)比較

續(xù)表

4.1.2 JSP的運行機制

JSP頁面被部署在Web服務(wù)器中,Web服務(wù)器在收到訪問JSP頁面的請求時,首先對JSP文件中的Java程序片斷進行語法檢查并生成Servlet源文件,然后對其進行編譯,編譯完成后,使用JVM執(zhí)行編譯過的文件并將執(zhí)行結(jié)果以HTML靜態(tài)頁面的形式返回給客戶端。

圖4.1 JSP頁面運行機制

當再次請求同一JSP頁面時,服務(wù)器將首先檢測頁面是否做過修改,若修改過則重新生成Servlet源文件并進行編譯,否則直接執(zhí)行初次調(diào)用時生成的Servlet類。

通過上述分析可以看出,JSP頁面的第一次執(zhí)行是需要耗費一些時間的,這些時間是耗費在JSP頁面到Servlet轉(zhuǎn)換并編譯的過程中。JSP頁面的具體運行機制如圖4.1所示。

圖4.1中所示的具體流程如下。

(1)客戶端發(fā)出Request(請求)。

(2)Web服務(wù)器將JSP頁面轉(zhuǎn)換成Servlet的源代碼。

(3)將生成的Servlet的源代碼經(jīng)過編譯后生成class文件,并加載到內(nèi)存中執(zhí)行。

(4)把結(jié)果Response(響應(yīng))發(fā)送至客戶端。

通過分析JSP的運行機制,將會發(fā)現(xiàn)JSP所有程序操作都是在服務(wù)器端執(zhí)行的,而在網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,因此對客戶端瀏覽器的要求很低。

4.1.3 Tomcat服務(wù)器的安裝與配置

JSP頁面必須被部署和運行于Web服務(wù)器中。所謂Web服務(wù)器是指為特定組件提供服務(wù)的一個標準化的運行時的環(huán)境,其中封裝了JSP運行所需的底層API,為組件提供事務(wù)處理、數(shù)據(jù)訪問、安全性、持久性等服務(wù)。

目前符合JSP標準的商業(yè)化Web服務(wù)器產(chǎn)品主要有BEA公司的WebLogic服務(wù)器、IBM公司的WebSphere服務(wù)器、Jakarta項目組的Tomcat服務(wù)器、開源項目Sourceforge的JBoss服務(wù)器等。其中Tomcat服務(wù)器是目前應(yīng)用最為廣泛的Web服務(wù)器。

Tomcat是Apache基金會的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。它不但支持Servlet和JSP組件的部署和運行,而且還具備了作為商業(yè)化Web服務(wù)器的基本特征,例如Tomcat管理和控制平臺、安全域管理和Tomcat閥等。Tomcat已經(jīng)成為目前開發(fā)基于Java的Web應(yīng)用程序的最佳服務(wù)器選擇之一。

Tomcat服務(wù)器是Jakarta項目中的免費服務(wù)器,可以通過其官方網(wǎng)站免費下載獲得。下載完成后,可以在本地磁盤的下載目錄中查看到下載的Tomcat 6.x安裝文件,如圖4.2所示。

圖4.2 下載的Tomcat 6.x安裝文件

說明

在安裝Tomcat服務(wù)器之前,必須確保系統(tǒng)中已經(jīng)正確地安裝并配置了JDK。

Tomcat服務(wù)器的具體安裝步驟如下。

(1)雙擊下載的Tomcat安裝文件apache-tomcat-6.0.16.exe,按照提示開始安裝,首先將顯示如圖4.3所示的安裝歡迎窗口。

(2)單擊“Next”按鈕,將顯示如圖4.4所示的“接受授權(quán)許可協(xié)議”窗口。

圖4.3 Tomcat安裝歡迎窗口

圖4.4 “接受授權(quán)許可協(xié)議”窗口

(3)單擊“I Agree”按鈕,將接受軟件授權(quán)許可協(xié)議,并顯示如圖4.5所示的選擇安裝模式窗口,這里我們選擇“用戶自定義”安裝模式。

(4)單擊“Next”按鈕,在“選擇Tomcat安裝目錄”窗口中選擇Tomcat的安裝目錄,如圖4.6所示。

圖4.5 選擇安裝模式窗口

圖4.6 選擇Tomcat安裝目錄窗口

(5)單擊“Next”按鈕,顯示如圖4.7所示的設(shè)置Tomcat使用的端口號及登錄Web管理界面的用戶名和密碼的窗口,Tomcat服務(wù)器默認端口是8080,用戶可以修改為任意端口,但是必須確保該端口號未被其他程序占用。

(6)單擊“Next”按鈕,將顯示選擇JDK的安裝路徑窗口,安裝程序?qū)詣铀阉飨到y(tǒng)中已經(jīng)存在的JDK,如果前面設(shè)置了JAVA_HOME環(huán)境變量,安裝程序?qū)詣诱业絁DK的安裝路徑,如果沒有自動搜索到則可以手工定位JDK的安裝路徑,如圖4.8所示。

(7)單擊“Install”按鈕,將開始Tomcat服務(wù)器的安裝,如圖4.9所示。

(8)安裝成功后,將顯示如圖4.10所示的安裝成功窗口,在窗口中將提示啟動Tomcat并查看readme文檔。

圖4.7 設(shè)置端口號和登錄管理員信息

圖4.8 為Tomcat設(shè)置JDK安裝路徑

圖4.9 Tomcat服務(wù)器安裝過程窗口

圖4.10 Tomcat服務(wù)器安裝成功

(9)單擊“Finish”按鈕,將顯示如圖4.11所示的Tomcat服務(wù)器啟動界面。

(10)Tomcat服務(wù)器啟動后,會在系統(tǒng)欄中加載綠色的服務(wù)器圖標,如圖4.12所示。

(11)雙擊這個圖標可以進入Tomcat服務(wù)器配置窗口,用“Start”和“Stop”按鈕開始和停止服務(wù)。而且在圖標上單擊鼠標右鍵可以看到一些設(shè)置項目,如圖4.13所示。

圖4.11 啟動Tomcat服務(wù)器

圖4.12 Tomcat服務(wù)器啟動圖標

圖4.13 配置Tomcat運行參數(shù)菜單

(12)單擊“Configure...”選項或者雙擊圖標可看到如圖4.14所示的Tomcat服務(wù)器配置窗口,在其中選擇“Startup type”為automatic將使Tomcat服務(wù)器自動啟動,這樣每次開機后Tomcat服務(wù)器就會自動啟動了。

(13)至此Tomcat服務(wù)器的安裝與配置都已完成,打開瀏覽器,輸入http://localhost:8080,如果正確會顯示如圖4.15所示的Tomcat服務(wù)器的默認首頁面,則表示Tomcat服務(wù)器安裝配置成功。

圖4.14 Tomcat服務(wù)器配置窗口

圖4.15 Tomcat服務(wù)器默認首頁面

4.1.4 MyEclipse中集成Tomcat服務(wù)器

雖然MyEclipse中自帶了一個Tomcat服務(wù)器,但是為了日后程序的開發(fā)、部署和運行更加方便和快捷,可以將用戶安裝的Tomcat服務(wù)器集成到MyEclipse中,具體的集成步驟如下。

(1)選擇MyEclipse菜單欄中的“Window”|“Preferences”命令,在彈出的“首選項”窗口中選擇“MyEclipse”|“Servers”|“Tomcat”,如圖4.16所示。

(2)根據(jù)用戶所安裝的Tomcat服務(wù)器的具體版本選擇配置項,我們前面安裝的Tomcat是6.x版本,因此,這里單擊“Configure Tomcat 6.x”鏈接,將顯示Tomcat 6.x服務(wù)器配置窗口。在其中,首先將“Tomcat Server”選項設(shè)置為“Enable”,從而使得Tomcat服務(wù)器有效,然后單擊“Tomcat home directory”選項后面的“Browse…”按鈕,在彈出的“瀏覽文件夾”對話框中選擇Tomcat 6.x的安裝目錄。當正確選擇Tomcat 6.x的安裝目錄后,“Tomcat base directory”和“Tomcat temp directory”將自動設(shè)置上對應(yīng)的目錄。設(shè)置完成后如圖4.17所示。

圖4.16 首選項窗口中選擇服務(wù)器配置

圖4.17 選擇Tomcat 6.x的安裝目錄

(3)至此,在MyEclipse中集成Tomcat服務(wù)器的配置步驟基本完成。是不是馬上就可以在MyEclipse中使用Tomcat服務(wù)器了呢?這里建議最好先去檢查一下Tomcat配置的JDK是否正確。在窗口左邊的樹形菜單中,單擊“Tomcat 6.x”|“JDK”,將顯示如圖4.18所示的“Tomcat中JDK選項列表”窗口。

(4)在“Tomcat JDK name”下拉列表中,將顯示已經(jīng)存在的默認JDK,如果默認的JDK不正確,可以通過單擊“Add...”按鈕,向系統(tǒng)添加用戶自定義的JDK,添加JDK對話框如圖4.19所示。其中,“JRE name”用來設(shè)置用戶自定義JDK的名字,單擊“JRE home directory”后面的“Browse...”按鈕,將彈出的“瀏覽文件夾”對話框,用來選擇JDK的安裝目錄。正確選擇JDK的安裝目錄后,“JRE system libraries”列表框中,將顯示出該JDK中的jar文件。

(5)設(shè)置完成后,單擊“OK”按鈕,將返回如圖4.18所示的窗口,在“Tomcat JDK name”下拉列表中,將看到剛創(chuàng)建的JDK作為Tomcat服務(wù)器的JDK了。這時候,單擊“首選項”窗口中的“OK”按鈕,才算全部完成MyEclipse中Tomcat服務(wù)器的配置工作。

(6)這時,單擊MyEclipse工具欄中的“Run MyEclipse Servers”按鈕,將看到Tomcat 6.x服務(wù)器,如圖4.20所示。

(7)單擊“Start”按鈕,將啟動Tomcat服務(wù)器。打開瀏覽器,輸入http://localhost:8080,同樣將顯示如圖4.15所示的Tomcat服務(wù)器默認首頁面。單擊“Stop”按鈕,將停止服務(wù)器運行。這樣就可以在MyEclipse中直接控制Tomcat服務(wù)器了。

圖4.18 Tomcat中JDK選項列表

圖4.19 添加用戶的JDK

圖4.20 顯示配置好的Tomcat 6.x服務(wù)器

4.1.5 MyEclipse中創(chuàng)建JSP頁面

在MyEclipse中,JSP頁面是以Web項目的形式組織起來的。所以要創(chuàng)建JSP頁面之前,必須首先創(chuàng)建一個Web項目,創(chuàng)建的具體步驟如下。

(1)選擇MyEclipse菜單欄中的“File”|“New”|“Project…”命令,將顯示如圖4.21所示的創(chuàng)建項目對話框。在其中選擇“Web Project”選項。

(2)單擊“Next”按鈕,將啟動創(chuàng)建Web項目的向?qū)АT谠撓驅(qū)Т翱诘摹癙roject Name”文本框中輸入項目名稱“FirstWeb”,然后選中“J2EE Specification Level”下面的Java EE 5.0單選按鈕,其余選項會自動填充,用戶無須修改。最后單擊“Finish”按鈕就可以創(chuàng)建Web項目了。創(chuàng)建完成后的Web項目向?qū)Т翱谌鐖D4.22所示。

圖4.21 創(chuàng)建Web Project

圖4.22 創(chuàng)建Web項目向?qū)Т翱?/p>

創(chuàng)建Web項目向?qū)Т翱谥懈鬏斎腠椀脑敿毢x如表4.4所示。

表4.4 創(chuàng)建Web項目向?qū)Т翱谥懈鬏斎腠椇x

說明

選擇哪個版本的“J2EE Specification Level”取決于開發(fā)者所使用的服務(wù)器版本,例如Tomcat 4.x以下版本就只能選擇J2EE 1.4,而Tomcat 6.x服務(wù)器就可以選擇J2EE 5.0。其中,J2EE 5.0可以直接使用EL表達式語言和JSTL。

(3)單擊“Finish”按鈕,就將創(chuàng)建Web項目,在創(chuàng)建過程中,MyEclipse將彈出如圖4.23所示的“是否打開Java Enterprise透視圖”對話框。

(4)單擊“Yes”按鈕,將在MyEclipse中的Java Enterprise透視圖中顯示新創(chuàng)建的Web項目。

Web項目創(chuàng)建完成后,就可以在該項目中創(chuàng)建JSP頁面了,具體步驟如下。

圖4.23 詢問是否打開Java Enterprise透視圖對話框

(1)選擇MyEclipse菜單欄中的“File”|“New”|“JSP(Advanced Templates)” 命令,將顯示如圖4.24所示的創(chuàng)建JSP向?qū)Т翱凇T谶@個窗口的“File Name”文本框中輸入所創(chuàng)建的JSP頁面的名稱,“File path”文本框中輸入創(chuàng)建的JSP頁面在項目中存儲的位置,默認都是存放在項目的WebRoot目錄下,在“Template to use”下拉列表框中選擇要使用的JSP頁面模板。

(2)然后單擊“Finish”按鈕,即可創(chuàng)建新的JSP頁面。MyEclipse會使用如圖4.25所示的JSP編輯器來打開剛創(chuàng)建的JSP頁面。

圖4.24 創(chuàng)建JSP向?qū)Т翱?/p>

圖4.25 JSP編輯器

說明

JSP編輯器的代碼視圖還支持自動查錯和代碼編寫提示功能,另外還支持斷點的設(shè)置等。因此使用MyEclipse的JSP編輯器可以大大減少開發(fā)人員JSP代碼出錯的機會。

4.1.6 MyEclipse中發(fā)布和運行Web項目

Web項目在開發(fā)完成之后,需要發(fā)布到Web服務(wù)器上才能夠被訪問和運行。MyEclipse支持發(fā)布Web項目到任何MyEclipse所支持的服務(wù)器上。

在開發(fā)過程中Web項目的發(fā)布和運行的具體步驟如下。

(1)在“Package Explorer”視圖中用鼠標右鍵單擊要發(fā)布的Web項目,在彈出的快捷菜單中選擇“MyEclipse”|“Add and Remove Project Deployments…命令”,將彈出如圖4.26所示的“項目部署”對話框。

(2)單擊“Add”按鈕,將彈出如圖4.27所示的“創(chuàng)建新部署”對話框,在其中的“Server”下拉列表框中選擇要部署的Web服務(wù)器,這里選擇部署到Tomcat 6.x服務(wù)器上,并在“Deploy type”選項組框中選擇發(fā)布模式為“Exploded Archive”開發(fā)模式。而“Deploy Location”文本框則顯示了最終項目文件被發(fā)布到的目標目錄。

圖4.26 “項目部署”對話框

圖4.27 “創(chuàng)建新部署”對話框

圖4.28 項目部署后的“項目部署”對話框

(3)單擊“Finish”按鈕,項目將部署到所選擇的服務(wù)器上,“項目部署”對話框?qū)⑷鐖D4.28所示。在“Deployment Status”列表框中顯示“Successfully deployed.”,表示項目部署成功。在該對話框中單擊“Remove”按鈕將會刪除這個發(fā)布,單擊“Redeploy”按鈕則將重新發(fā)布這個應(yīng)用,單擊“Browse”按鈕則將會在系統(tǒng)的文件瀏覽器中打開發(fā)布后的應(yīng)用所在的目錄。

(4)單擊“OK”按鈕,將完成Web項目部署。然后啟動Tomcat服務(wù)器,服務(wù)器啟動之后,輸出的日志就會顯示在“Console”視圖中,便于開發(fā)者瀏覽和跟蹤查看日志來判斷服務(wù)器是否正常啟動完畢。圖4.29 顯示了正常的Tomcat啟動完畢后的輸出日志。

圖4.29 Tomcat服務(wù)器啟動成功的日志輸出

(5)正常啟動服務(wù)器后,用戶就可以通過在瀏覽器中輸入URL地址來訪問Web項目了。

主站蜘蛛池模板: 新密市| 军事| 柞水县| 高邑县| 乐山市| 济阳县| 交口县| 资源县| 阿拉善盟| 钟山县| 台中市| 鲁山县| 宝兴县| 沿河| 罗山县| 甘洛县| 深泽县| 安阳市| 桐柏县| 万源市| 贡嘎县| 五家渠市| 清徐县| 张北县| 房产| 库车县| 满城县| 永登县| 铜鼓县| 丹江口市| 阿合奇县| 龙胜| 光山县| 长乐市| 贡山| 固始县| 黄陵县| 宜章县| 体育| 金山区| 陆良县|