教學(xué)材料《JSP設(shè)計(jì)與開(kāi)發(fā)》-第1章_第1頁(yè)
教學(xué)材料《JSP設(shè)計(jì)與開(kāi)發(fā)》-第1章_第2頁(yè)
教學(xué)材料《JSP設(shè)計(jì)與開(kāi)發(fā)》-第1章_第3頁(yè)
教學(xué)材料《JSP設(shè)計(jì)與開(kāi)發(fā)》-第1章_第4頁(yè)
教學(xué)材料《JSP設(shè)計(jì)與開(kāi)發(fā)》-第1章_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

學(xué)習(xí)要點(diǎn)Web程序設(shè)計(jì)模式與運(yùn)行原理JSP頁(yè)面與JSP運(yùn)行原理JSP運(yùn)行環(huán)境的配置集成開(kāi)發(fā)環(huán)境簡(jiǎn)介返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理1.1.1Web服務(wù)器與動(dòng)態(tài)網(wǎng)頁(yè)

互聯(lián)網(wǎng)中有數(shù)以?xún)|計(jì)的網(wǎng)站,用戶(hù)可以通過(guò)瀏覽這些網(wǎng)站獲得所需要的信息。例如,用戶(hù)在瀏覽器的地址欄中輸入http://www.sina.com.cn,瀏覽器就會(huì)顯示新浪網(wǎng)的首頁(yè),從中可以查看新聞等信息。那么新浪網(wǎng)首頁(yè)的內(nèi)容是存放在哪里的呢?新浪網(wǎng)首頁(yè)的內(nèi)容是存放在新浪網(wǎng)服務(wù)器上的。所謂服務(wù)器就是網(wǎng)絡(luò)中的一臺(tái)主機(jī),由于它提供Web,FTP等網(wǎng)絡(luò)服務(wù),因此稱(chēng)其為服務(wù)器。用戶(hù)的計(jì)算機(jī)又是如何將存在網(wǎng)絡(luò)服務(wù)器上的網(wǎng)頁(yè)顯示在瀏覽器中的呢?當(dāng)用戶(hù)在地址欄中輸入新浪網(wǎng)地址(URL,統(tǒng)一資源定位符)的時(shí)候,瀏覽器會(huì)向新浪網(wǎng)的服務(wù)器發(fā)送HTTP請(qǐng)求,這個(gè)請(qǐng)求使用HTTP協(xié)議,其中包括請(qǐng)求的主機(jī)名、HTTP版本號(hào)等信息。服務(wù)器下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理在收到請(qǐng)求信息后,將回復(fù)的信息(一般是文字、圖片等網(wǎng)頁(yè)信息,也就是HTML頁(yè)面)準(zhǔn)備好,再通過(guò)網(wǎng)絡(luò)發(fā)回給客戶(hù)端瀏覽器。客戶(hù)端的瀏覽器在接收到服務(wù)器傳回的信息后,將其解釋并顯示在瀏覽器的窗口中,這樣用戶(hù)就可以進(jìn)行瀏覽廠(chǎng)。整個(gè)過(guò)程如圖1-1所示。在這個(gè)“請(qǐng)求一響應(yīng)”過(guò)程中,如果在服務(wù)器上存放的為靜態(tài)HTML網(wǎng)頁(yè)文件,服務(wù)器就會(huì)原封不動(dòng)地返回網(wǎng)頁(yè)的內(nèi)容。如果存放的是動(dòng)態(tài)網(wǎng)頁(yè),如JSP,ASP,ASP.NET等文件,則服務(wù)器會(huì)執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè),執(zhí)行的結(jié)果是生成一個(gè)HTML文件,然后再將這個(gè)HTML文件發(fā)送給客戶(hù)端瀏覽器,客戶(hù)瀏覽器將其解釋為用戶(hù)見(jiàn)到的頁(yè)面。

上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理因此,動(dòng)態(tài)網(wǎng)頁(yè)和靜態(tài)網(wǎng)頁(yè)的根本區(qū)別在于服務(wù)器端返回的HTML文件是事先存儲(chǔ)好的還是由動(dòng)態(tài)網(wǎng)頁(yè)程序生成的。靜態(tài)網(wǎng)頁(yè)文件里只有HTML標(biāo)記,沒(méi)有程序代碼,網(wǎng)頁(yè)的內(nèi)容是事先寫(xiě)好并存放在服務(wù)器上的;動(dòng)態(tài)網(wǎng)頁(yè)文件不僅含有HTML標(biāo)記,而且還含有程序代碼,當(dāng)用戶(hù)發(fā)出請(qǐng)求時(shí),服務(wù)器由動(dòng)態(tài)網(wǎng)頁(yè)程序即時(shí)生成HTML文件。動(dòng)態(tài)網(wǎng)頁(yè)能夠根據(jù)不同的時(shí)間、不同的用戶(hù)生成不同的HTML文件,顯示不同的內(nèi)容。上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理1.1.2

瀏覽器/服務(wù)器結(jié)構(gòu)及其優(yōu)點(diǎn)隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,單機(jī)的軟件程序已經(jīng)難以滿(mǎn)足網(wǎng)絡(luò)計(jì)算機(jī)的需求,因此,基于網(wǎng)絡(luò)的軟件架構(gòu)應(yīng)運(yùn)而生。早期常用的網(wǎng)絡(luò)架構(gòu)為“客戶(hù)/服務(wù)器”(Client/Server,C/S模式。使用這種架構(gòu)編寫(xiě)的軟件分為客戶(hù)端和服務(wù)器端兩部分,需要分別在客戶(hù)機(jī)和服務(wù)器上進(jìn)行安裝。這種模式在用戶(hù)數(shù)據(jù)錄人等方面很有優(yōu)勢(shì),也降低廠(chǎng)系統(tǒng)的通信開(kāi)銷(xiāo),但是也有一定的缺點(diǎn),如開(kāi)發(fā)和維護(hù)成本較高,可移植性較差等。互聯(lián)網(wǎng)的普及使得用于上網(wǎng)瀏覽的瀏覽器已經(jīng)成為操作系統(tǒng)中不可缺少的一部分,瀏覽器的功能越來(lái)越強(qiáng)大,甚至可以取代“客戶(hù)/服務(wù)器”架構(gòu)的客戶(hù)端軟件,成為統(tǒng)一的客戶(hù)端。這樣,程序員就可以只上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理編寫(xiě)運(yùn)行在服務(wù)器上的軟件,瀏覽器代替C/S模式中的客戶(hù)端軟件,客戶(hù)通過(guò)瀏覽器與服務(wù)器端軟件進(jìn)行交互并得到運(yùn)行結(jié)果,這種軟件架構(gòu)就是“瀏覽器/服務(wù)器”(Browses/Server,B/S模式。B/S模式主要是利用廠(chǎng)不斷成熟的WWW瀏覽器技術(shù),結(jié)合動(dòng)態(tài)網(wǎng)站制作技術(shù),通過(guò)通用瀏覽器實(shí)現(xiàn)廠(chǎng)原來(lái)需要復(fù)雜的專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,節(jié)約廠(chǎng)開(kāi)發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著互聯(lián)網(wǎng)的不斷發(fā)展,B/S架構(gòu)已經(jīng)成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。B/S模式的應(yīng)用程序相對(duì)于傳統(tǒng)的C/S模式的應(yīng)用程序來(lái)講無(wú)疑是一個(gè)巨大的進(jìn)步,主要優(yōu)點(diǎn)如下。上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理1.開(kāi)發(fā)、維護(hù)成本較低就C/S模式的軟件而言,當(dāng)客戶(hù)端的軟件需要升級(jí)的時(shí)候,所有客戶(hù)端都必須進(jìn)行升級(jí)安裝或者重新安裝,而B(niǎo)/S模式的軟件只需要在服務(wù)器端發(fā)布,客戶(hù)端瀏覽器無(wú)須維護(hù),因而極大地降低廠(chǎng)開(kāi)發(fā)和維護(hù)成本。2.可移植性高C/S模式的軟件,不同開(kāi)發(fā)工具開(kāi)發(fā)的程序,一般情況下互不兼容主要運(yùn)行在局域網(wǎng)中,移植困難,而B(niǎo)/S模式的軟件運(yùn)行在互聯(lián)網(wǎng)上提供廠(chǎng)異種網(wǎng)、異種機(jī)、異種應(yīng)用服務(wù)的聯(lián)機(jī)、聯(lián)網(wǎng)服務(wù)基礎(chǔ),客戶(hù)端安裝的是通用瀏覽器,不存在移植的問(wèn)題。3.用戶(hù)界面統(tǒng)一C/S模式軟件的客戶(hù)端界面由所安裝的客戶(hù)端軟件所決定,因此不同的軟件客戶(hù)端界面不同,而B(niǎo)/S模式的軟件都是通過(guò)瀏覽器來(lái)使用的,操作界面基本統(tǒng)一。上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理么,哪些技術(shù)可用于B/S模式的Web應(yīng)用程序開(kāi)發(fā)?日前使用較多的技術(shù)有JSP,ASP,ASP.NET,PHP等。本節(jié)對(duì)它們進(jìn)行簡(jiǎn)單的介紹和比較。JSP全稱(chēng)為JavaServerPages,是Sun公司倡導(dǎo)、多家公司參與、1999年提出的一種Web服務(wù)技術(shù)標(biāo)準(zhǔn)。它的主要編程腳本為Java語(yǔ)言,同時(shí)還支持JavaBeans/Servlet等技術(shù),利用這些技術(shù)可以建立安全、跨平臺(tái)的Web應(yīng)用程序。JSP技術(shù)具有以下優(yōu)點(diǎn)。1.跨平臺(tái)性由于JSP的腳本語(yǔ)言是Java語(yǔ)言,因此它具有Java語(yǔ)言的一切特性。同時(shí),JSP也支持現(xiàn)在的大部分平臺(tái),擁有“一次編寫(xiě),到處運(yùn)行”的特點(diǎn)。

上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理2.執(zhí)行效率高當(dāng)JSP第一次被請(qǐng)求時(shí),JSP頁(yè)面轉(zhuǎn)換成Servlet,然后被編譯成*.class文件,以后(除非頁(yè)面有改動(dòng)或Web服務(wù)器被重新啟動(dòng))再有客戶(hù)請(qǐng)求該JSP頁(yè)面時(shí),JSP頁(yè)面不再被重新編譯,而是直接執(zhí)行已編譯好的*.class文件,因此執(zhí)行效率高。3.可重用性可重用的、跨平臺(tái)的JavaBean*和EJB(EnterpriseJavaBeans)組件為JSP程序的開(kāi)發(fā)提供了方便。例如,用戶(hù)可以將復(fù)雜的處理程序(如對(duì)數(shù)據(jù)庫(kù)的操作)封裝到組件中,在開(kāi)發(fā)中可以多次使用這些組件,提高了組件的重用性。上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理4.將內(nèi)容的生成和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)記來(lái)設(shè)計(jì)和格式化最終頁(yè)面。生成動(dòng)態(tài)內(nèi)容的程序代碼封裝在JavaBeans組件、EJB組件或JSP腳本段中。在最終頁(yè)面中使用JSP標(biāo)記將JavaBeans組件中的動(dòng)態(tài)內(nèi)容引人。這樣,可以有效地將內(nèi)容生成和頁(yè)面顯示分離,使頁(yè)面的設(shè)計(jì)人員和編程人員可以同步進(jìn)行工作,也可以保護(hù)程序的關(guān)鍵代碼。ASP是ActiveServerPages的縮寫(xiě),是微軟在早期推出的動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),包含在IIS(Internet信息服務(wù))中,是一種服務(wù)器端的腳本編寫(xiě)環(huán)境,使用它可以創(chuàng)建和運(yùn)行動(dòng)態(tài)、交互的Web服務(wù)器應(yīng)用程序。在動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)發(fā)展的早期,ASP是絕對(duì)的主流技術(shù),但是它也上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理存在著許多缺陷。由于A(yíng)SP的核心是腳本語(yǔ)言,決定了它的先天不足,其無(wú)法進(jìn)行像傳統(tǒng)編程語(yǔ)言那樣的底層操作;由于A(yíng)SP通過(guò)解釋執(zhí)行代碼,因此運(yùn)行效率較低;同時(shí)由于腳本代碼與HTML代碼混在一起,不便于開(kāi)發(fā)人員進(jìn)行管理和維護(hù)。隨著技術(shù)的發(fā)展,ASP的輝煌已經(jīng)成為過(guò)去,微軟也已經(jīng)不再對(duì)ASP提供技術(shù)支持和更新,ASP技術(shù)日前處于被淘汰的邊緣。PHP從語(yǔ)法和編寫(xiě)方式上來(lái)看與ASP類(lèi)似,是完全免費(fèi)的,最早是一個(gè)開(kāi)放源碼的小軟件,隨后逐漸發(fā)展起來(lái),是因?yàn)樵絹?lái)越多的人意識(shí)到它的實(shí)用性。RasmusLerdorf在1994年發(fā)布了PHP的第一個(gè)版本。從那時(shí)起它就飛速發(fā)展,在原始發(fā)行版上經(jīng)過(guò)無(wú)數(shù)的改進(jìn)和完善,現(xiàn)在已經(jīng)發(fā)展到5.0版。PHP+MySQL+Linux的組合是最常見(jiàn)的,上一頁(yè)下一頁(yè)返回1.1Web程序設(shè)計(jì)模式與運(yùn)行原理因?yàn)樗鼈兌伎梢悦赓M(fèi)獲得。但是PHP的弱點(diǎn)也是很明顯的,例如PHP不支持真正意義上的面向?qū)ο缶幊蹋涌谥С植唤y(tǒng)一,缺乏正規(guī)支持,不支持多層結(jié)構(gòu)和分布式計(jì)算等。ASP.NET是微軟繼ASP后推出的全新的動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),日前最新版本為.NETS.50在性能上,ASP.NET比ASP強(qiáng)很多,與PHP相比,也存在明顯的優(yōu)勢(shì)。ASP.NET可以使用C#,VB.NET,VisualJ#等語(yǔ)言來(lái)開(kāi)發(fā),程序開(kāi)發(fā)人員可以選擇自己習(xí)慣或熟悉的語(yǔ)言進(jìn)行開(kāi)發(fā)。ASP.NET依托于.NET平臺(tái)先進(jìn)而強(qiáng)大的功能,從而極大地簡(jiǎn)化廠(chǎng)編程人員的工作量,使得Web應(yīng)用程序的開(kāi)發(fā)更加方便、快捷,同時(shí)也使得程序的功能更加強(qiáng)大,是JSP技術(shù)的有力竟?fàn)帉?duì)手。上一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理1.2.1案例:第一個(gè)JSP頁(yè)面一個(gè)JSP頁(yè)面是由普通的HTML標(biāo)記和JSP標(biāo)記,以及通過(guò)“<%”“%>”標(biāo)記加入的Java程序片段組成的頁(yè)面。JSP頁(yè)面按文本文件保存,文件名要符合JSP標(biāo)識(shí)符的規(guī)定,即文件名可以由字母、數(shù)字、下劃線(xiàn)或美元符號(hào)組成,并且第一個(gè)字符不能是數(shù)字,文件擴(kuò)展名為jsp。用戶(hù)可以用記事本或其他文本編輯工具,如EditPlus,來(lái)編輯JSP文件,文件保存的編碼選擇ANSI。

【案例功能】向客戶(hù)端輸出“這是我的第一個(gè)JSP程序”頁(yè)面。【案例日標(biāo)】掌握J(rèn)SP頁(yè)面的基本樞架結(jié)構(gòu)。

【案例要點(diǎn)】HTML標(biāo)識(shí)、JSP語(yǔ)言。下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理【案例步驟】(1)新建一個(gè)文本文件,名稱(chēng)為myfirst,并將后綴名改為.jsp。(2)編寫(xiě)myfirst.jsp源代碼文件。(3)將myfirst.jsp文件保存到Tomcat6.0安裝目錄下的webapps\ROOT子目錄中,本教材Tomcat6.0的安裝目錄為D;\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0。則頁(yè)面保存目錄為D:\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0\webapps\ROOT,頁(yè)面運(yùn)行結(jié)果如圖1-2所示。【源碼」myfirst.jsp上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理【代碼說(shuō)明】所有黑體標(biāo)識(shí)都是HTML標(biāo)簽。在<%…%>中嵌人的是JSP源碼。上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理1.2.2JSP運(yùn)行原理在上述案例中,用戶(hù)在客戶(hù)端瀏覽器中輸入http://127.0.0.1:8080/myfirst.jsp,瀏覽器就會(huì)顯示頁(yè)面的內(nèi)容。那么包含HTML標(biāo)記、JSP標(biāo)記和<%…%>的JSP頁(yè)面是如何顯示到客戶(hù)瀏覽器中的呢?回答這個(gè)問(wèn)題前需要廠(chǎng)解JSP的運(yùn)行原理。用戶(hù)在客戶(hù)端瀏覽器中輸入http://127.0.0.1:8080/myfirst.jsp,就會(huì)對(duì)Web服務(wù)器上的myfirst.jsp頁(yè)面產(chǎn)生請(qǐng)求。當(dāng)服務(wù)器上的myfirst.jsp頁(yè)面第一次被請(qǐng)求時(shí),JSP引擎首先轉(zhuǎn)譯JSP頁(yè)面文件,形成一個(gè)Java文件(本質(zhì)上是一個(gè)JavaServlet的Java文件,關(guān)于Servlet,后續(xù)章節(jié)還要介紹,在這里,讀者可以簡(jiǎn)單地將其理解為執(zhí)行在服務(wù)器端的Java小程序),這個(gè)ServletJava文件的文件名是上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理Myfirstjsp.Java,存儲(chǔ)在Tomcat安裝目錄的work\Catalina\localhost\...\org\apache\jsp子目錄中,然后JSP引擎調(diào)用Java編譯器編譯這個(gè)文件,形成Java的字節(jié)碼文件myfirstjsp.class,存放在相同的目錄中;編譯完成之后,JSP引擎就會(huì)執(zhí)行myfirstjsp.class字節(jié)碼文件,響應(yīng)客戶(hù)的請(qǐng)求,執(zhí)行myfirst

jsp.class的結(jié)果是發(fā)送給客戶(hù)端一個(gè)HTML頁(yè)面。當(dāng)這個(gè)頁(yè)面再次被請(qǐng)求時(shí),JSP引擎將直接執(zhí)行這個(gè)編譯廠(chǎng)的字節(jié)碼文件來(lái)響應(yīng)客戶(hù)的請(qǐng)求。當(dāng)多個(gè)用戶(hù)請(qǐng)求同一個(gè)JSP頁(yè)面時(shí),Tomcat服務(wù)器為每個(gè)客戶(hù)啟動(dòng)一個(gè)線(xiàn)程,該線(xiàn)程負(fù)責(zé)執(zhí)行常駐內(nèi)存的字節(jié)碼文件來(lái)響應(yīng)客戶(hù)請(qǐng)求。JSP的運(yùn)行原理如圖1-3所示。上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理

下面是JSP引擎生成的myfirstjsp.Java文件的內(nèi)容(讀者可以從Tomcat6.0安裝目錄的work\Catalina\localhost\…\org\apache\jsp目錄中找到該文件及其對(duì)應(yīng)的字節(jié)碼文件)。上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理下面是客戶(hù)端瀏覽器看到的源碼。上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理分析客戶(hù)端HTML代碼和服務(wù)器端Java文件代碼,可以看到out.write(“…”)用于向客戶(hù)端輸出HTML代碼,JSP頁(yè)面對(duì)應(yīng)Java文字碼文件的主要工作如下。(1)把JSP頁(yè)面中的HTML標(biāo)記發(fā)給客戶(hù)端瀏覽器。(2)負(fù)責(zé)處理JSP頁(yè)面中的JSP標(biāo)記,并將處理結(jié)果發(fā)給客戶(hù)端瀏覽器(3)負(fù)責(zé)執(zhí)行“<%”和“%>”之間的Java程序,并將執(zhí)行結(jié)果發(fā)給客戶(hù)端瀏覽器。上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理1.2.3JSP,JavaBean和JavaServlet的關(guān)系JavaServlet是Java語(yǔ)言的一部分,它提供了一組用于服務(wù)器端編程的API。習(xí)慣上稱(chēng)使用JavaServletAPI的相關(guān)類(lèi)和方法所編寫(xiě)的Java類(lèi)為Servlet類(lèi),Servlet類(lèi)生成的對(duì)象為Servlet對(duì)象。Servlet對(duì)象可以運(yùn)行在配置有JSP運(yùn)行環(huán)境的服務(wù)器上,訪(fǎng)問(wèn)服務(wù)器的各種資源,這極大地?cái)U(kuò)展廠(chǎng)服務(wù)器的功能。JSP是晚于JavaServlet產(chǎn)生的,它是為了克服JavaServlet的缺點(diǎn),以JavaServlet技術(shù)為基礎(chǔ)的Web應(yīng)用開(kāi)發(fā)技術(shù)標(biāo)準(zhǔn)。JSP提供廠(chǎng)JavaServlet的絕大多數(shù)優(yōu)點(diǎn),是JavaServlet技術(shù)的成功應(yīng)用,不過(guò)JSP只是JavaServlet技術(shù)的一部分,而不是JavaServlet的全部。JSP可以讓JSP標(biāo)記、Java語(yǔ)言代碼嵌人到HTML語(yǔ)句中,這樣就大大地上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理簡(jiǎn)化和方便廠(chǎng)網(wǎng)頁(yè)的設(shè)計(jì)和修改,但JSP頁(yè)面最終會(huì)被編譯成JavaServlet并執(zhí)行,以響應(yīng)客戶(hù)端的請(qǐng)求。JavaBean被Sun公司定義為一個(gè)可重用的軟件組件。實(shí)際上JavaBean就是一種Java類(lèi)通過(guò)封裝屬性和方法成為具有某種業(yè)務(wù)邏輯處理能力的類(lèi),它一般負(fù)責(zé)Web應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯處理部分。JavaBean類(lèi)實(shí)例化的對(duì)象簡(jiǎn)稱(chēng)為Bean。JSP提供訪(fǎng)問(wèn)JavaBean組件的JSP動(dòng)作標(biāo)記。JSP動(dòng)作標(biāo)記簡(jiǎn)單、方便,有效地分離廠(chǎng)JSP頁(yè)面的表示部分和業(yè)務(wù)邏輯、數(shù)據(jù)處理部分,因此使程序設(shè)計(jì)人員和頁(yè)面設(shè)計(jì)人員可以同時(shí)工作。

上一頁(yè)下一頁(yè)返回1.2JSP頁(yè)面與JSP運(yùn)行原理較小規(guī)模的Web應(yīng)用可以采用JSP+JavaBean模式。在JSP+JavaBean模式中,JSP負(fù)責(zé)頁(yè)面的實(shí)現(xiàn)、頁(yè)面預(yù)處理和跳轉(zhuǎn)控制,JavaBean負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理。對(duì)于模式較大的Web應(yīng)用,就需要采用JSP+JavaBean+Servlet模式。在JSP+JavaBean+Servlet模式中,JSP負(fù)責(zé)頁(yè)面處理(View),JavaBean負(fù)責(zé)業(yè)務(wù)邏輯和數(shù)據(jù)處理(Model),Servlet負(fù)責(zé)預(yù)處理和分發(fā)頁(yè)面的請(qǐng)求(Control)。關(guān)于這些模式的具體應(yīng)用將在后續(xù)帝節(jié)中講述。上一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境1.3.1

安裝和配置JDK1.JDK的安裝Sun公司為不同的操作系統(tǒng)平臺(tái),如Windows,Unix/Linux等,提供了相應(yīng)的Java開(kāi)發(fā)包。用戶(hù)可到Sun公司站點(diǎn)http://Java.sun.com下載最新的適應(yīng)于相應(yīng)操作系統(tǒng)的開(kāi)發(fā)包。本書(shū)中使用Windo、操作系統(tǒng)環(huán)境下的jdk1.6.0作為所有程序的開(kāi)發(fā)環(huán)境。本書(shū)中JDK安裝目錄為D:\ProgramFiles\Java。安裝完成后,在D:\ProgramFiles\Java目錄中會(huì)有jdk1.6.0和jre1.6.0兩個(gè)子目錄,jdkl.6.0為Java開(kāi)發(fā)工具目錄,jre1.6.0為Java運(yùn)行環(huán)境目錄。下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境2.JDK的配置安裝完JDK后,需要在Windows操作系統(tǒng)中為JDK設(shè)置幾個(gè)環(huán)境變量,以便系統(tǒng)能夠自動(dòng)查找JDK的命令和類(lèi)庫(kù)。對(duì)于WindowsXP/2000,右擊“我的電腦”,彈出快捷菜單,從中選擇“屬性”命令,彈出“系統(tǒng)屬性”對(duì)話(huà)樞,單擊該對(duì)話(huà)樞的“高級(jí)”標(biāo)簽,然后單擊“環(huán)境變量”按鈕,彈出“環(huán)境變量”設(shè)置對(duì)話(huà)樞,如圖1-4所示。分別添加這些環(huán)境變量:變量名CLASSPATH,變量值D:\ProgramFiles\Java\jrel.6.0\bin\rt.jar.;(見(jiàn)圖1-5);變量名PATH,變量值為D:\ProgramFiles\Java\bin。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境1.3.2

安裝配置Tomcat1.下載和安裝下Tomcat用戶(hù)可以到http://tomcat.apache.org/站點(diǎn)免費(fèi)下載Tomcat6.0,在主頁(yè)面中的Download里選擇Tomcat6.0,然后在BinaryDistributions里的Core中選擇zip(pgp,md5)、tar.gz(pgp,md5)或WindowsServiceInstaller(pgp,md5。本書(shū)下載的是WindowsServiceInstatler(pgp,md5,文件名為apache-tomcat-6.0.16.exe。apache-tomcat-6.0.16.exe是專(zhuān)門(mén)為Windows開(kāi)發(fā)的Tomcat服務(wù)器。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境雙擊apache-tomcat-6.0.16.exe出現(xiàn)安裝向?qū)Вp擊Next按鈕,出現(xiàn)“授權(quán)”界面,接受授權(quán)協(xié)議后,用戶(hù)可以選擇Normal,Min-itnun,Custom和Full安裝形式,本書(shū)選擇Full安裝模式,如圖1-6所示單擊Next按鈕,默認(rèn)安裝于C:\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0,單擊Next按鈕,默認(rèn)HTTP服務(wù)端口8080、登錄用戶(hù)名為“Adtnin”,密碼為空,然后選擇默認(rèn)Java的JRE安裝目錄。如圖1-7所示,本書(shū)的JRE安裝目錄為D:\ProgramFiles\Java\jrel.6.0。

單擊Install按鈕,開(kāi)始Tomcat的安裝。安裝完成后,選擇“開(kāi)始”

“程序”命令會(huì)出現(xiàn)安裝程序創(chuàng)建的AppacheTomcat6.0菜單組,產(chǎn)生的目錄結(jié)構(gòu)如圖1-8所示。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境2.測(cè)試安裝是否成功(運(yùn)行測(cè)試頁(yè))選擇“開(kāi)始”

“程序”

ApacheTomcat6.0

MonitorTomcat命令,在任務(wù)欄中出現(xiàn)ApacheTomcat系統(tǒng)托盤(pán),右擊托盤(pán),在彈出的快捷菜單中選擇StartService命令,即可啟動(dòng)Tomcat6.0服務(wù)器。Tomcat服務(wù)器占用的默認(rèn)端口是8080,如果Tomcat使用的端口已經(jīng)被占用,則Tomcat將無(wú)法啟動(dòng)。打開(kāi)IE瀏覽器或MozillaFircfox瀏覽器,在瀏覽器地址欄中輸入http://localhost:8080并回車(chē),如果瀏覽器中出現(xiàn)如圖1-9所示的頁(yè)面,則說(shuō)明用戶(hù)的Tomcat已經(jīng)正確安裝。8080是Tomcat服務(wù)器默認(rèn)端口。用戶(hù)可以通過(guò)修改Tomcat6.0安裝目錄下conf子目錄server.Xml配置來(lái)更改端口號(hào)。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境用記事本打開(kāi)server.xml文件,找到下列內(nèi)容部分。將port=“8080”更改為port=“80”,保存文件后并重新啟動(dòng)Tomcat服務(wù)器即可。此時(shí),用戶(hù)在瀏覽器中輸入url地址時(shí)可省略端口號(hào),例如輸入http://127.0.0.1,即可看到如圖1-9所示的測(cè)試頁(yè)面。本教材使用默認(rèn)的8080端口。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境1.3.3Web服務(wù)目錄設(shè)置1.根目錄理解web服務(wù)的根目錄,需要從web服務(wù)器和客戶(hù)瀏覽器兩個(gè)角度去分析。從服務(wù)器的角度分析,Tomcat6.0安裝目錄中的webapps\ROOT子目錄稱(chēng)為T(mén)omcat6.0Web服務(wù)器的根目錄。在本教材的Tomcat6.0安裝方式下,根目錄在服務(wù)器上的物理路徑為D:\ProgramFiles\ApacheSoftwareFoundation\Tomcat6.0\webapps\ROOT。除非特別說(shuō)明,本教材所指的Tomcat安裝目錄均指D:\ProgramFiles\ApachcSoftwareFoundation\Tomcat6.0。

上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境從客戶(hù)瀏覽器角度分析,地址欄中輸入的URL“協(xié)議://ip地址或域名:端口號(hào)/目錄/頁(yè)面.jsp”中,“端口號(hào)”后面的“/”就是客戶(hù)端看到的根目錄。用戶(hù)訪(fǎng)問(wèn)Web服務(wù)器根目錄中的JSP頁(yè)面時(shí),在客戶(hù)端瀏覽器中輸入U(xiǎn)RL地址,只需輸入http://ip地址或域名:端口號(hào)/頁(yè)面名稱(chēng)即可。

例如,在后面的例子中,訪(fǎng)問(wèn)根目錄下的index.jsp頁(yè)面時(shí)只需要在地址欄中輸入http://127.0.0.1:8080/index.jsp。而index.jsp頁(yè)面保存位置就是web服務(wù)器的根目錄。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境2.Web服務(wù)子目錄在Tomcat服務(wù)器安裝目錄中的webapps子目錄下,除了ROOT子目錄外,還有does,examples,manager等子目錄,這些子目錄稱(chēng)為Web服務(wù)子目錄。用戶(hù)若要在客戶(hù)瀏覽器中訪(fǎng)問(wèn)這些Web服務(wù)子目錄中的頁(yè)面,只需輸入http://ip地址或域名:端口號(hào)/頁(yè)面名稱(chēng)即可。例如:若要訪(fǎng)問(wèn)webapps\examples目錄中的index.html頁(yè)面,就在瀏覽器地址欄中輸入http://127.0.0.1;8080/example/index.html,URL中的examples為web服務(wù)子目錄。除了Tomcat安裝時(shí)創(chuàng)建的Web服務(wù)子目錄外,用戶(hù)可以在webapps目錄中創(chuàng)建新的Web服務(wù)子目錄。

上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境例如,在webapps目錄中創(chuàng)建myapp子目錄,將自己編寫(xiě)的myfirst.jsp文件保存在myapp子目錄中,在客戶(hù)瀏覽器地址欄中輸入http://127.0.0.1;8080/myapp/myflrst.jsp,即可訪(fǎng)問(wèn)myapp服務(wù)目錄下的myfirst.jsp頁(yè)面。3.建立虛擬Web服務(wù)目錄除廠(chǎng)在安裝目錄中的Webapps目錄下創(chuàng)建Web服務(wù)子目錄外,用戶(hù)還可以將服務(wù)器計(jì)算機(jī)中的某個(gè)目錄指定為Web服務(wù)子目錄,并為其設(shè)置虛擬Web服務(wù)子目錄名稱(chēng),將實(shí)際的目錄物理路徑隱藏,用戶(hù)只能通過(guò)虛擬目錄訪(fǎng)問(wèn)該Web服務(wù)子目錄。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境建立虛擬Web服務(wù)目錄,可通過(guò)修改Tomcat安裝目錄下的conf子目錄中的server.xml配置文件來(lái)實(shí)現(xiàn)。例如,將E:\programjsp\chl指定為新的Web服務(wù)子目錄,虛擬目錄名稱(chēng)為chl。用戶(hù)首先在Tomcat服務(wù)器的E盤(pán)創(chuàng)建programjsp\chl目錄,然后用文本編輯器打開(kāi)server.xml文件,在<Host>...</Host>節(jié)之間加人如下內(nèi)容:上面代碼中的path=“/chl”為虛擬目錄名稱(chēng),docBase=“E:\programJsp\chl”為Web服務(wù)子目錄的物理路徑。保存后重新啟動(dòng)Tomcat服務(wù)器。上一頁(yè)下一頁(yè)返回1.3

搭建JSP運(yùn)行環(huán)境4.相對(duì)服務(wù)目錄Web服務(wù)目錄下的子目錄稱(chēng)為Web服務(wù)目錄下的相對(duì)服務(wù)目錄。例如,在根目錄ROOT中建立了一個(gè)image子目錄,image就是根目錄下的相對(duì)服務(wù)目錄,訪(fǎng)問(wèn)image的URL地址為http://127.0.0.1:8080/image。在虛擬目錄chl中建立子目錄image,image就是虛擬目錄chl下的相對(duì)服務(wù)目錄,訪(fǎng)問(wèn)它的URL為http://127.0.0.1:8080/chl/image。上一頁(yè)返回1.4

集成開(kāi)發(fā)環(huán)境介紹1.4.1

開(kāi)源的EclipseEclipse最初是IBM公司的一個(gè)軟件產(chǎn)品,2001年11月其1.0版發(fā)布。2003年發(fā)布了2.1版,立刻引起了業(yè)界的轟動(dòng)。現(xiàn)在IBM已經(jīng)把出巨資開(kāi)發(fā)的Eclips作為一個(gè)開(kāi)源項(xiàng)目捐給了開(kāi)源組織Eclipse.org,其出色的獨(dú)創(chuàng)性平臺(tái),吸引廠(chǎng)眾多大公司加人到Eclips平臺(tái)的發(fā)展中來(lái)。到目前為止,Eclips的成熟版本為6.0.1版。Eclipse6.0.1是一個(gè)通用的工具平臺(tái)。它提供了功能豐富的開(kāi)發(fā)環(huán)境,允許開(kāi)發(fā)者高效地創(chuàng)建一些工具并集成到Eclipse平臺(tái)上來(lái)。Eclipse的設(shè)計(jì)思想是:一切皆為插件。Eclipse核心非常小,其他所有的功能都以插件的形式附加到這個(gè)核心之上。Eclips的插件是動(dòng)態(tài)調(diào)用的,也就是插件被用時(shí)調(diào)人,不再被使用時(shí)則自動(dòng)清除。下一頁(yè)返回1.4

集成開(kāi)發(fā)環(huán)境介紹用戶(hù)可以去Eclipse的官網(wǎng)上免費(fèi)下載Eclipse工具包,也可以使用Google搜索工具搜索下載Eclipse工具包。常用的Eclipse有兩種版本,Release版式為穩(wěn)定版本,StableBuilds版本比較穩(wěn)定。Eclips的安裝非常簡(jiǎn)單,它屬于純綠色軟件,只需將安裝文件解壓就可以運(yùn)行Eclipse。現(xiàn)在最新的JBuilder,Websphere,MyEclipse等開(kāi)發(fā)工具都是將Eclipse作為集成樞架基礎(chǔ)開(kāi)發(fā)而成的。Eclips開(kāi)發(fā)工具的詳細(xì)使用方法請(qǐng)參見(jiàn)有關(guān)資料。上一頁(yè)下一頁(yè)返回1.4

集成開(kāi)發(fā)環(huán)境介紹1.4.2MyEclipseMyEclipsc企業(yè)級(jí)工作平臺(tái)(MyEclipscEnterpriseWorkbench,MyEclipse)是對(duì)Eclipse

IDE的擴(kuò)展,是J2EE開(kāi)發(fā)插件的綜合體,是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境。它包括廠(chǎng)完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,JSP,Struts,JSF,CSS,JavaScript,SQL,Hibernate等。用戶(hù)使用它可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面提高工作效率。MyEclipse是收費(fèi)的開(kāi)發(fā)工具,一般下載的MyEclipse內(nèi)部已經(jīng)有一個(gè)Eclipse存在了。安裝MyEclipse時(shí)需要從MyEclipse官方網(wǎng)站或其他搜索引擎下載安裝文件并購(gòu)買(mǎi)注冊(cè)碼。上一頁(yè)下一頁(yè)返回1.4

集成開(kāi)發(fā)環(huán)境介紹1.安裝MyEclipse6.0運(yùn)行MyEclipse的安裝文件,本教材的安裝文件是MyEclipse6.0.1GAE3.3.1Full.exe,出現(xiàn)如圖1-10所示的安裝界面,根據(jù)向?qū)崾就瓿砂惭b。2.運(yùn)行MyEclipse6.0安裝完成后,啟動(dòng)MyEclipse6.0,首先要選擇MyEclipse6.0的工作空間,工作區(qū)里存放項(xiàng)日文件和一些配置信息,用戶(hù)可根據(jù)自己的習(xí)慣設(shè)置自己的工作空間,然后單擊OK按鈕就可啟動(dòng)。3.注冊(cè)MyEclipse6.0選擇MyEclipse6.0SubscriptionInformation命令,打開(kāi)UpdateSubscription窗口,輸入用戶(hù)購(gòu)買(mǎi)的Subxcriber和SubscriptionCode。上一頁(yè)下一頁(yè)返回1.4

集成開(kāi)發(fā)環(huán)境介紹4.配置MyEclipse6.0的JDK和Tomcat環(huán)境選擇工作區(qū),啟動(dòng)MyEclipse6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論