Servlet/JSP

Servlet/JSP爲Java EE中接收、轉發、響應客戶端請求的的技術,是基於Web容器所提供的服務。

Servlet與JSP關係

Servlet是使用Java程序語言所編寫的一個Java類,通過Web容器的加載、初始化,受到容器的管理才得以成爲一個Servlet。JSP會被Web容器轉譯爲Servlet的".java"源,編譯爲".class"文件,然後加載到容器中,最後是由Servlet實例(Instance)提供服務的。

注意:容器是Java所編寫的一個應用程序,負責與服務器溝通,管理Servlet所需的各種對象和數據、Servlet生命週期。

 

Get和Post的區別

  • Get請求和Post請求是學習Servlet/JSP時最常接觸的兩個請求方式。除了長度過長的請求數據之外,許多請求可以使用GET,也可以使用Post。其區別如下:

  • Get跟隨在URL之後的請求參數長度是有限的,過長的請求參數,或像文件上傳這類的大量數據,就不適合用Get請求,而用Post。

  • Get的請求參數會出現在地址欄上,敏感性或保密性的請求參數,就不應該使用Get請求來發送。

  • Post請求的請求參數不會出現在地址欄上,無法添加到瀏覽器的書籤中,如果有些頁面是根據請求參數進行不同的頁面顯示,而又希望可以讓用戶設置書籤,以便日後可以直接點擊書籤進行瀏覽,則此時應使用Get。

  • 有些瀏覽器會根據地址欄來緩存數據,如果地址欄是相同的URL,則會直接從瀏覽器緩存中取出數據,而不會真正發送請求至服務器上查詢最新的數據。通過Get請求中附加時間戳記,讓每次的Get請求地址欄都不相同。

  • Get請求應該用於冪等操作,即Get請求純粹是取得數據,而不改變服務器上的數據或狀態。

  • Post請求應該用於非冪等操作,請求所發送的數據,可能會影響服務器上的數據或狀態。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章