WEB應(yīng)用與開發(fā)-02JSP工作原理與運行環(huán)境_第1頁
WEB應(yīng)用與開發(fā)-02JSP工作原理與運行環(huán)境_第2頁
WEB應(yīng)用與開發(fā)-02JSP工作原理與運行環(huán)境_第3頁
WEB應(yīng)用與開發(fā)-02JSP工作原理與運行環(huán)境_第4頁
WEB應(yīng)用與開發(fā)-02JSP工作原理與運行環(huán)境_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章:JAVABEAN編程JSP工作原理與運行環(huán)境

課題JSP工作原理與運行環(huán)境目的要求掌握JSP的工作原理及在JDK與TOMCAT下的環(huán)境配置教學(xué)重點JSP的工作模式、環(huán)境配置、配置文件的修改、虛擬目錄的建立教學(xué)難點配置文件的修改、虛擬目錄的建立教學(xué)課時4(含2課時上機)教學(xué)方法講解、示例與啟發(fā)式教學(xué)相結(jié)合教學(xué)內(nèi)容和步驟2.1JSP(JavaServer

Pages)工作原理JSP是由Sun

Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種

動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),其網(wǎng)址為/products/jsp。

在傳統(tǒng)的網(wǎng)頁HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JSP網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送

email

等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無Plugin,無ActiveX,無Java

Applet,甚至無Frame。JSP規(guī)范給出了使用JSP頁面構(gòu)建Web應(yīng)用程序的兩個方案:JSP模型1和模型2體系結(jié)構(gòu)。這兩個模型的區(qū)別在于處理的位置。在模型1的體系結(jié)構(gòu)中,如圖1所示,JSP頁面負責(zé)處理請求并將響應(yīng)發(fā)送給客戶端。

圖1:JSP模型1體系結(jié)構(gòu)

模型2體系結(jié)構(gòu),如圖2所示,集成使用了servlets和JSP頁面。在該模型中,JSP頁面用于表示層,并且servlets負責(zé)處理各類任務(wù)。Servlet作為一個控制器,負責(zé)處理請求并創(chuàng)建JSP頁面所需的任何bean。該控制器也負責(zé)確定將該請求傳遞到哪個JSP頁面。JSP頁面檢索servlet創(chuàng)建的對象,并提取動態(tài)內(nèi)容插入在一個模板中。

圖2:JSP模型2體系結(jié)構(gòu)該模型促進了模型視圖控制器(MVC)體系結(jié)構(gòu)風(fēng)格設(shè)計模式的使用。注意,早就存在多個框架能夠?qū)崿F(xiàn)該有用的設(shè)計模式,并將內(nèi)容和表示真正地獨立開來。ApacheStruts是MVC的形式化框架。該框架非常適用于復(fù)雜的應(yīng)用程序,在這些復(fù)雜的應(yīng)用程序中單個請求或表單提交會產(chǎn)生看起來截然不同的結(jié)果。2.2

JSP運行環(huán)境

在Sun正式發(fā)布JSP(JavaServerPages)之后,這種新的Web應(yīng)用開發(fā)技術(shù)很快引起了人們的關(guān)注。JSP為創(chuàng)建高度動態(tài)的Web應(yīng)用提供了一個獨特的開發(fā)環(huán)境。按照Sun的說法,JSP能夠適應(yīng)市場上包括ApacheWebServer、IIS4.0在內(nèi)的85%的服務(wù)器產(chǎn)品。JSP與ASP的簡單比較JSP與Microsoft的ASP技術(shù)非常相似。兩者都提供在HTML代碼中混合某種程序代碼、由語言引擎解釋執(zhí)行程序代碼的能力。在ASP或JSP環(huán)境下,HTML代碼主要負責(zé)描述信息的顯示樣式,而程序代碼則用來描述處理邏輯。普通的HTML頁面只依賴于Web服務(wù)器,而ASP和JSP頁面需要附加的語言引擎分析和執(zhí)行程序代碼。程序代碼的執(zhí)行結(jié)果被重新嵌入到HTML代碼中,然后一起發(fā)送給瀏覽器。ASP和JSP都是面向Web服務(wù)器的技術(shù),客戶端瀏覽器不需要任何附加的軟件支持。

ASP的編程語言是VBScript之類的腳本語言,JSP使用的是Java,這是兩者最明顯的區(qū)別此外,ASP與JSP還有一個更為本質(zhì)的區(qū)別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程序代碼。在ASP下,VBScript代碼被ASP引擎解釋執(zhí)行;在JSP下,代碼被編譯成Servlet并由Java虛擬機執(zhí)行,這種編譯操作僅在對JSP頁面的第一次請求時發(fā)生。(2)運行環(huán)境①jdk,j2sdk,j2se,j2ee之間的區(qū)別:jdk:javadevolopkit--java開發(fā)包(運行java最基本的環(huán)境)j2sdk:在1.4版以前稱為jdk,可以理解j2sdk是jdk的升級版本,所以我們只要安了j2sdk即可,JDK就沒必要了。j2sdk有幾個版本對應(yīng)于java2的幾個版本,其中j2ee需要用到開發(fā)工具就是J2eesdk了,只不過大部分應(yīng)用服務(wù)器(weblogicjboss等)都內(nèi)置了j2eesdk。j2se:j2sdk也就是標(biāo)準(zhǔn)版,一般來說j2sdk指的就是j2se.j2ee:也稱j2eesdk,用來進行企業(yè)級開發(fā)。jre:是javaruntimeenvionment--java運行環(huán)境,jdk中包括了它,但是對于不需要開發(fā)只是運行的用戶是可以只單獨安裝jre的,所以sun提供了jre的下載,執(zhí)行JSP代碼需要在服務(wù)器上安裝JSP引擎。此處我們使用的是Sun的JavaServerWebDevelopmentKit(JSWDK)。為便于學(xué)習(xí),這個軟件包提供了大量可供修改的示例。安裝JSWDK之后,只需執(zhí)行startserver命令即可啟動服務(wù)器。在默認配置下服務(wù)器在端口8080監(jiān)聽,使用http://localhost:8080即可打開缺省頁面。在運行JSP示例頁面之前,請注意一下安裝JSWDK的目錄,特別是"work"子目錄下的內(nèi)容。執(zhí)行示例頁面時,可以在這里看到JSP頁面如何被轉(zhuǎn)換成Java源文件,然后又被編譯成class文件(即Servlet)。JSWDK軟件包中的示例頁面分為兩類,它們或者是JSP文件,或者是包含一個表單的HTML文件,這些表單均由JSP代碼處理。與ASP一樣,JSP中的Java代碼均在服務(wù)器端執(zhí)行。因此,在瀏覽器中使用"查看源文件"菜單是無法看到JSP源代碼的,只能看到結(jié)果HTML代碼。所有示例的源代碼均通過一個單獨的"examples"頁面提供JavaServlet是一種開發(fā)Web應(yīng)用的理想構(gòu)架。

JSP以Servlet技術(shù)為基礎(chǔ),又在許多方面作了改進。JSP頁面看起來象普通HTML頁面,但它允許嵌入執(zhí)行代碼,在這一點上,它和ASP技術(shù)非常相似。利用跨平臺運行的JavaBean組件,JSP為分離處理邏輯與顯示樣式提供了卓越的解決方案。JSP必將成為ASP技術(shù)的有力競爭者。②環(huán)境變量設(shè)置:JAVA_HOME=c:\j2sdk1.4.2;classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;不能少,表示當(dāng)前路徑)path=%JAVA_HOME%\bin;(系統(tǒng)里已經(jīng)有了path變量,只需要在path最前面加上去即可)安裝Tomcat后,在我的電腦->屬性->高級->環(huán)境變量->系統(tǒng)變量中添加以下環(huán)境變量(假定你的tomcat安裝在c:\tomcat5):CATALINA_HOME=c:\tomcat5;CATALINA_BASE=c:\tomcat5;然后修改環(huán)境變量中的classpath,把tomcat安裝目錄下的common\lib下的servlet-api.jar(此文件在tomcat5以前名為:servlet.jar)追加到classpath中去,修改后的classpath如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;(最好再拷貝到:C:\j2sdk1.4.2\jre\lib\ext目錄下)接著可以啟動tomcat,在IE中訪問http://localhost:8080,如果看到tomcat的歡迎頁面的話說明安裝成功了。(3)建立自己的jspapp目錄①到Tomcat的安裝目錄的webapps目錄,可以看到ROOT,examples等Tomcat自帶的的目錄;②在webapps目錄下新建一個目錄,起名叫myapp;③myapp下新建一個目錄WEB-INF,注意,目錄名稱是區(qū)分大小寫的;④WEB-INF下新建一個文件web.xml,內(nèi)容如下:<?xmlversion="1.0"encoding="ISO-8859-1"?><!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""/dtd/web-app_2_3.dtd"><web-app><display-name>MyWebApplication</display-name><description>Aapplicationfortest.</description></web-app>在myapp下新建一個測試的jsp頁面,文件名為index.jsp,文件內(nèi)容如下:<html><head><title>大家好</title></head><body><%out.println("大家好,我的第一個jsp程序");%></body></html>重啟Tomcat⑤打開瀏覽器,輸入http://localhost:8080/myapp/index.jsp即可.(4)配虛擬目錄。①server.xml里不再管虛擬目錄了,只能配虛擬主機host,但是要記住這個host的名字,一般是localhost。另外還要記住當(dāng)前的tomcat服務(wù)名,默認是<Servicename="Catalina">,即Catalina②在tomcat的conf目錄建立兩級子目錄,第一級是服務(wù)名,即Catalina,第二級是主機名,即localhost。③在localhost目錄下,建立你想要的虛擬目錄.xml文件,比如aptime.xml,那么將來在瀏覽器里輸入http://localhost/aptime才能找到你的目錄,即文件名要與將來用的目錄同名。④在這個xml文件里寫虛擬目錄的配置:比如<ContextdocBase="c:/tomcat55/webapps/aptime"debug="0"reloadable="true"crossContext="true"/>

相比原來的寫法,就是不要了path,因為path就是你的xml文件名。docBase與tomcat目錄或host的appBase目錄無關(guān)。⑤重新啟動tomcat5。附:默認端口號8080還是在server.xml里修改。2.3JSP的生命周期JSP的生命周期將分為三個階段:⑴裝載和實例化:服務(wù)端為JSP頁面查找已有的實現(xiàn)類,如果沒找到則創(chuàng)建新的JSP頁面的實現(xiàn)類,然后把這個類載入JVM。在實現(xiàn)類裝載完成之后,JVM將創(chuàng)建這個類的一個實例。這一步會在裝載后立刻執(zhí)行,或者在第一次請求時執(zhí)行。⑵初始化:初始化JSP頁面對象。如果你希望在初始化期間執(zhí)行某些代碼,那么你可以向頁面中增加一個初始化方法(method),在初始化的時候就會調(diào)用該方法。⑶請求處理:由頁面對象響應(yīng)客戶端的請求。需要注意的是,單個對象實例將處理所有的請求。在執(zhí)行完處理之后,服務(wù)器將一個響應(yīng)(response)返回給客戶端。這個響應(yīng)完全是由HTML標(biāo)簽和其他數(shù)據(jù)構(gòu)成的,并不會把任何Java源碼返回給客戶端。⑷生命周期終止:服務(wù)器不再把客戶端的請求發(fā)給JSP。在所有的請求處理完成之后,會釋放掉這個類的所有實例。一般這種情況會發(fā)生在服務(wù)器關(guān)閉的時候,但是也有其他的可能性,比如服務(wù)器需要保存資源、檢測到有JSP文件更新,或者由于其他某些原因需要終止實例等情況。如果想讓代碼執(zhí)行清除工作,那么可以實現(xiàn)一個方法,并且在這個類實例釋放之前調(diào)用該方法。本章隨后一節(jié)“處理JSP的初始化和終止”將對此加以討論。.jsp.java.class客戶端以實例形式保存在服務(wù)呂結(jié)束JSP在服務(wù)器的運行.jsp

.java.class客戶端以實例形式保存在服務(wù)呂結(jié)束JSP在服務(wù)器的運行圖3:JSP的生命周期結(jié)構(gòu)圖作業(yè)①:上機配置JSP服務(wù)器、設(shè)定一個虛擬目錄(用建立相應(yīng).xml文件與修改server.xml文件二種方法完成)②:自編一個簡單JSP頁面,在瀏覽器窗口輸出“HelloWorld”并調(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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論