servlet與jsp

來源:互聯網
上載者:User

標籤:生命週期   .com   bsp   角色   htm   exception   錯誤   http   運用   

Servlet生命週期

一、初始化階段   當WEB客戶第一次請求訪問某個Servlet的時候,WEB容器將建立這個Servlet的執行個體。調用init()方法進行Servlet的初始化

一、響應客戶要求階段  調用service()方法,service()方法根據收到的用戶端請求類型,決定調doGet()還是doPost()還是其他的doXXX()方法。 

二、終止階段  當WEB應用被終止,或Servlet容器終止運行,web容器調用destroy()方法釋放掉Servlet所佔用的資源。

 

JSP與Servlet有什麼區別

 

1.jsp經編譯後就變成了Servlet,本質上就是servlet,都可以產生動態網頁

 

2.JSP的優點是擅長於網頁展示,Servlet擅長商務邏輯

 

3.Servlet是純java代碼,而jsp裡可寫java、html、css、js等代碼

 

Servlet怎麼處理一個請求

 

當使用者發送一個請求到某個Servlet的時候,Servlet容器會建立一個ServletRequst和ServletResponse對象。在ServletRequst對象中封裝了使用者的請求資訊,然後調用servlet的service()方法,把處理好的結果寫在ServletResponse中,然後Servlet容器把響應結果傳給使用者。

 

Jsp九大內建對象

 

  1. Request

 

包含使用者端請求的資訊

 

  1. Response

 

包含伺服器傳回用戶端的響應資訊

 

  1. Session

 

儲存在服務端的資料

 

  1. pageContext

 

頁面上下文

 

  1. Application

 

伺服器啟動時建立,伺服器關閉時停止

 

  1. Out

 

向用戶端輸出資料

 

  1. Config

 

8.  Page

 

指網頁本身

 

9.  Exception

 

用來處理Jsp分頁檔在執行時所有發生的錯誤和異常

 

forward和redirect的區別

 

轉寄與重新導向

 

(1)從地址欄顯示來說 

 

forward是伺服器請求資源,伺服器直接存取目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器.瀏覽器根本不知道伺服器發送

 

的內容從哪裡來的,所以它的地址欄還是原來的地址.redirect是服務端根據邏輯,發送一個狀態代碼,告訴瀏覽器重新去請求那個地址.所以地址欄顯示的是新的URL.

 

(2)從資料共用來說 

 

forward:轉寄頁面和轉寄到的頁面可以共用request裡面的資料.

 

redirect:不能共用資料.

 

(3)從運用地方來說 

 

forward:一般用於使用者登陸的時候,根據角色轉寄到相應的模組.

 

redirect:一般用於使用者登出登陸時返回首頁面和跳轉到其它的網站等.

 

(4)從效率來說 

 

forward:高.

 

redirect:低.

 

servlet與jsp

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.