日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JSP引擎的工作原理

JSP運行環(huán)境:

成都創(chuàng)新互聯(lián)公司主營朔州網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,手機(jī)APP定制開發(fā),朔州h5重慶小程序開發(fā)公司搭建,朔州網(wǎng)站營銷推廣歡迎朔州等地區(qū)企業(yè)咨詢

執(zhí)行JSP代碼需要在服務(wù)器上安裝JSP引擎,比較常見的引擎有WebLogic和Tomcat。把這些支持JSP的web服務(wù)器配置好后。就可以再客戶端通過瀏覽器來訪問JSP頁面了。默認(rèn)端口一般是7001.

JSP生命周期:

JSP處理請求的方法就是把這些請求都統(tǒng)一看做Servlet。由于這個原因,JSP的很多功能和生命周期,都由Java Servlet技術(shù)標(biāo)準(zhǔn)定義的。這種限制,在動態(tài)內(nèi)容方面更加明顯。所以學(xué)習(xí)JSP的時候,需要溫習(xí)Servlet的內(nèi)容和標(biāo)準(zhǔn)。

JSP網(wǎng)絡(luò)應(yīng)用服務(wù)器框架:

在符合J2EE規(guī)范的服務(wù)器構(gòu)建起來之后,就可以編寫JSP頁面了,在HTML頁面中嵌入JSP腳本,該頁面就成為JSP頁面了。JSP腳本用特定的標(biāo)記括起來,如<%...%>,或者。JSP的工作流程如下:當(dāng)其讀到HTML的代碼的時候,就直接輸出到客戶端,而如果讀到嵌入JSP腳本的時候,就需要對這些腳本進(jìn)行另外的翻譯和處理,得到輸出之后再輸出到客戶端。

下面通過一個簡單頁面編寫來了解JSP網(wǎng)絡(luò)應(yīng)用的框架:

1.JSP客戶端交互

JSP的大部分工作就是與客戶端進(jìn)行交互??蛻舳艘话阒傅氖菫g覽器,它們與置于服務(wù)器端得JSP頁面進(jìn)行交互。JSP腳本中所有的Java語句都是在服務(wù)器執(zhí)行,服務(wù)器接受客戶端提交的請求,通過一定的處理之后,將結(jié)果返回給客戶端,客戶端得到的僅僅是HTML代碼。下面是一個JSP的HelloWorld程序代碼:

 
 
 
  1.  
  2.  
  3. </strong>HelloWorld for JSP<strong> 
  4.  
  5.  
  6. HelloWord for JSP

     
  7. <%out.println("

    Hello World!

    ");%> 
  8.  
  9.  

2.交互過程的流程

在一般的客戶端和服務(wù)器端的交互中,是用HTTP協(xié)議,客戶端通過下面4個步驟也服務(wù)器段進(jìn)行交互:

(1)客戶端和服務(wù)器端建立連接

(2)發(fā)送客戶端請求

(3)服務(wù)器返回應(yīng)答給客戶

(4)客戶端關(guān)閉連接

所有的請求都是由客戶端主動發(fā)出的,而服務(wù)器一直出于被動的監(jiān)聽狀態(tài)。用戶在瀏覽器鍵入要訪問的地址,按回車鍵確認(rèn)后,瀏覽器開始與服務(wù)器建立連接,從這時開始,就開始了一次交互過程。瀏覽器通過一段時間的等待后,從服務(wù)器得到響應(yīng),并且把相應(yīng)的信息以HTML方式呈現(xiàn)給用戶。用戶在瀏覽網(wǎng)站的過程中,實際上包含了很多這樣的交互應(yīng)答過程。在客戶端與JSP頁面的交互過程中,只有服務(wù)器接收請求和返回應(yīng)答的動作可能不一樣,其他與上面過程基本一致?;厩闆r如下:

(1)服務(wù)器在收到一個請求后首先要分析這個請求,如果請求的頁面只是一般的HTML頁面,服務(wù)器就直接讀出HTML頁面并返回給客戶端

(2)如果客戶端請求的是JSP頁面,服務(wù)器調(diào)用JSP引擎翻譯處理所請求的JSP頁面,并將翻譯和處理之后的HTML返回給客戶端

(3)如果遇到JavaBeans組件,JSP引擎將調(diào)用相應(yīng)的JavaBeans組件,得到JavaBeans的返回值,***返回給JSP頁面

3.JSP引擎的工作原理

當(dāng)一個JSP頁面***次被訪問的時候,JSP引擎將執(zhí)行以下步驟:

(1)將JSP頁面翻譯成一個Servlet,這個Servlet是一個java文件,同時也是一個完整的java程序

(2)JSP引擎調(diào)用java編譯器對這個Servlet進(jìn)行編譯,得到可執(zhí)行文件class

(3)JSP引擎調(diào)用java虛擬機(jī)來解釋執(zhí)行class文件,生成向客戶端發(fā)送的應(yīng)答,然后發(fā)送給客戶端

以上三個步驟僅僅在JSP頁面***次被訪問時才會執(zhí)行,以后的訪問速度會因為class文件已經(jīng)生成而大大提高。當(dāng)JSP引擎街道一個客戶端的訪問請求時,首先判斷請求的JSP頁面是否比對應(yīng)的Servlet新,如果新,對應(yīng)的JSP需要重新編譯。

4.對請求信息的處理

在大部分的交互過程中,一個JSP頁面首先對用戶提出的請求進(jìn)行分析,然后從請求中得到有用的數(shù)據(jù),比如接收用戶提交的數(shù)據(jù)或者請求的方法,然后進(jìn)行相應(yīng)的處理。而這就需要了解得到傳入?yún)?shù)的方法和得到用戶其他信息的方法。

(1)得到傳入?yún)?shù)的方法

在交互過程中,服務(wù)器必須從客戶端得到一些數(shù)據(jù),來幫助處理過程的進(jìn)行。這些數(shù)據(jù)包括用戶身份驗證數(shù)據(jù)(如用戶名、密碼等)以及其他中要信息。而這些數(shù)據(jù)的載體,就是用戶提交的請求。請求的組成主要有兩部分,一是頭信息。頭信息包含了以下信息:請求的方法(GET和POST)、請求的URL和瀏覽器信息。其他信息包含了一些數(shù)據(jù)信息。

首先要了解的是GET方法發(fā)送請求時,這種方法是客戶端用來向服務(wù)器段請求信息的,所以在請求中不包含信息體。用戶只能把請求的內(nèi)容作為參數(shù)附加在URL后面進(jìn)行發(fā)送,參數(shù)之間用“&”符號隔開,如代碼:一個典型的GET請求的表單get.html

 
 
 
  1.  
  2.  
  3. </strong>Get<strong> 
  4.  
  5.  
  6. Get Method

     
  7.  action = "submit.jsp" method = "GET"> 
  8.     username name = "uername" value = "aaa">
     
  9.     password type = password name = "password" value = "111111">
     
  10.      type = submit value = "submit"> 
  11.  
  12.  
  13.  

(代碼中有一個表單,表單在定義的時候,定義了屬性method=“GET”,這表明表單提交的方法是GET。這個表單向服務(wù)器提交兩個參數(shù),其中一個是username,缺省值為aaa,另外一個是password,其缺省值是111111。)

這個頁面只是得到了輸入數(shù)據(jù),只有submit.JSP才能實現(xiàn)提交這個頁面的數(shù)據(jù)。這就是需要用到JSP了,代碼如下:submit.JSP

 
 
 
  1.  
  2.  
  3. </strong>submit<strong> 
  4.  
  5.  
  6. submit

     
  7. request method:<%=request.getMethod() %>
     
  8. user name:<%=request.getParameter("user") %>
     
  9. password:<%=request.getParameter("password") %>
     
  10.  
  11.  

在這個JSP頁面中是用了JSP的內(nèi)置對象request的兩個方法,一個是getMethod,用來獲取當(dāng)前請求的類型,另一個是getParameter,用來獲取指定參數(shù)的值。在get.html中單擊submit按鈕,就可以顯示表單請求方法,用戶名以及密碼等信息。

(2)得到其他信息的方法

得到非用戶輸入的其他參數(shù)信息,就需要用到其他的方法。如下所示是一個得到客戶端信息的簡單程序。根據(jù)這個程序我們可以初步了解如何得到客戶端信息的大致思路。代碼如下:

 
 
 
  1.  
  2.  
  3. </strong>得到消息<strong> 
  4.  
  5.  
  6.     

    請求中所包含的URL


     
  7.     <%=request.getQueryString()%>
     
  8.  
  9.  

【編輯推薦】

  1. 詳解JSP中調(diào)用JavaBean
  2. JSP開發(fā)環(huán)境的搭建
  3. 解決JSP開發(fā)Web程序中文顯示三種方法
  4. 開發(fā)JSP HTTP服務(wù)器
  5. JSP、ASP和PHP安全編程

文章標(biāo)題:JSP引擎的工作原理
當(dāng)前URL:http://www.dlmjj.cn/article/ccespdj.html