[Java]Servlet&JSP

在這裏學習Servlet和JSP post

>> Servlet&JSP的那些事兒學習

>> servleturl

【書籍】spa

孫鑫的《Servlet/JSP深刻詳解:基於Tomcat的Web開發》.net

林信良的《JSP&Servlet學習筆記(第二版)》線程

 

Servlet容器處理請求的過程orm

  在開始正文以前,讓咱們複習並細化一下Servlet容器處理請求的過程。對象

  1)用戶點擊一個連接,指向了一個servlet而不是一個靜態頁面。blog

  2)容器「看出」這個請求是一個Servlet,因此它建立了兩個對象HttpServletRequest和HttpServletResponse。ci

  3)容器根據請求中的URL找到正確的Servlet,爲這個請求建立或分配一個線程,並把請求和響應對象傳遞給這個Servlet線程。

  4)容器調用Servlet的service()方法。根據請求的不一樣類型,service()方法會調用doGet()或doPost()方法。這裏假設調用doGet()方法。

  5)doGet()方法生成動態頁面,並把這個頁面「塞到」響應對象裏,須要注意的是,容器還有響應對象的一個引用!

  6)線程結束,容器把響應對象轉換爲一個HTTP響應,並把它發回給客戶,而後刪除請求和響應對象。

那麼問題來了:doGet()和doPost()的區別?

  1.doGet和doPost的區別,在何時調用,爲何有時doPost中套用doGet
  2.提交的form     method=Post就執行DOPOST,不然執行GOGET 套用是無論method是post仍是get都執行dopost方法
  3.get:你能夠經過URL傳參數。http://www.csdn.net/index.asp?user=1234    , Post不行    4.你的表單提交都有方法的,若是提交爲get就調用get方法,用post就調用post方法.   get顯示你傳過去的參數,post則不顯示.  5.一般的寫法:先用doGet(),而後在doPost()中調用doGet(),這樣就萬無一失了  6. 簡單的說,get是經過http     header來傳輸數據,有數量限制,而post則是經過http     body來傳輸數據,沒有數量限制。  7.還有一點:get和post提交的數據量是不同的.        get好像最多隻能在url後跟64K(?具體多少忘記了),        post好像沒這個限制,至少我post過5M以上的文本          還有url刷新時get好像能夠不用重複提交原來提交的數據,        而post則會說內容已提交,想刷新請再提交.

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息