標籤:
話說這J2EE視頻看的本身每天活蹦亂跳的我是天天都像得了重病似的,怎麼也犯不過勁兒來。裡面接觸了大量關於Java的專業詞彙,如JNDI,ANT,servlet,Java Bean等等。讓人一時難以消化。
但在這裡,還是強烈建議大家,無論如何要本著不拋棄,不放棄的精神堅持下去。看到後面也許因為你的不甘心,或者老天同情你的遭遇,忽然你就開竅兒了呢。其實慢慢的聽的多了,也就跟原來的知識逐漸的聯絡上了,這樣也就沒有原來那樣費勁兒了。
一、與servlet相識1、一個類
首先不能被它陌生的名字嚇到,它其實就是一個Java類。如果只說它是一個Java類,那麼跟平時學到的如C#中的類就一樣了,沒什麼區別,所以它就不陌生了。
2、功能
接收客戶的請求
響應用戶端
3、聯想
根據servlet的功能,我們能聯想到些什麼呢?
其實我們很早就開始接觸servlet了,之前我們學習牛腩的時候,用到過handler,一般處理常式,它的功能和它類似,當時是為瞭解決ajax非同步作業。
其次,在學習ajax時,利用Java語言編寫服務端時,就已經用到了servlet這個類,在這個類裡,我們對從用戶端發來的請求進行處理或者說將請求傳遞給伺服器,同時,將伺服器給出的處理回應給用戶端。
這樣想來,其實它並不陌生啊。
二、與servlet相知
認識了servlet後,我們需要再瞭解在servlet類中是通過哪些方法來處理用戶端請求並進行回應的。
1、類
繼承自HttpServlet,存在於服務端
2、生命週期
在瞭解servlet生命週期前,我們必須清楚的知道,servlet類存在於伺服器端。而一切關於servlet的建立,使用和銷毀其實幕後操作的黑手都是server。
server建立一個servlet對象——利用init方法進行初始化——用戶端發出請求——server建立一個請求(request)和響應(response)對象——啟用servlet中的service方法——service方法進行處理擷取資源後回應用戶端
以上是關於servlet在執行時一個大致流程。
3、方法
1、service()在客戶請求時,server會通過service方法來進行處理和響應,在調用service方法時,會傳入兩個參數,一個是HttpServletRequest來接收客戶的請求,另一個是HttpServletResponse來將伺服器對客戶的響應資訊傳遞給用戶端。
2、在用戶端請求時,有兩種方式get和post請求,為了區分這兩種請求,把service方法分為處理兩種不同請求的doGet()和doPost(),同時兩個參數都不可少!
service方法樣本:
Import javax.servlet.*;Import javax.servlet.http.*;Import java.io.*;Public class MyServlet extends HttpServlet{Public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{//process request,generate response}}
4、servletContext
對此,與servletConfig相結合理解的並不是特別清楚,只是瞭解到servletContext用來在servlet之間進行通訊,它儲存著公開變數和靜態變數。任何servlet和JSP都可以訪問到它。
通過getServletContext來擷取,同時可以通過setAttribute()來設定公開變數,同時還可以通過removeAttribute來移除變數。
ServletContext,是一個全域的儲存資訊的空間,所以,為了節省空間的,提高效率,ServletContext中,要放必須的、重要的、所有使用者需要共用的線程又是安全的一些資訊。
三、小結本文主要從servlet的功能和其中的方法來進行介紹,但是servlet中包含的知識遠不止於此,如:servlet過濾器,之前總結過在MVC中的過濾器,servlet中的過濾器與其原理也應該萬變不離其宗。剩下的就靠我們自己在實踐中去慢慢探索了!
J2EE總結(二)——與servlet從相識到相知