J2EE請求與響應—Servlet

來源:互聯網
上載者:User

標籤:des   style   blog   java   http   ext   

    一、什麼是Servlet?

    Servlet是運行Web伺服器上的一個特殊Java類,其特殊用途是響應用戶端請求並做出處理,使得用戶端與伺服器端進行互動。


    二、生命週期    

    Servlet生命週期是通過Web容器控制,主要分為以下幾個階段:



    1. 建立servlet的執行個體
    2. 初始化階段,調用init()方法
    3. 響應請求,調用service()方法
    4. 銷毀執行個體,調用destroy()方法
    5. 執行個體記憶體回收,調用finalize()方法

    三、Servlet中幾個重要的方法:

   在Servlet生命週期中,servlet的初始化(init())和銷毀階段(destroy())只執行一次。Servic()方法是servlet的核心,主要是用來接收用戶端請求並返回結果給用戶端,每次用戶端請求過來都被調用Service()方法,並且傳遞個這個方法一個“請求(servletRequest)對象和一個響應(servletResponse)對象做為參數”。


    doGet()方法

    當接收到Get請求時,Servlet的doGet()方法被調用。與GET 請求相關的參數添加到URL的後面,並與這個請求一起發送。當不會修改伺服器端的資料時,應該使用doGet()方法。


    doPost()方法

    當接收到Post請求時,Servlet的doPost()方法被調用。與POST請求相關的參數作為一個單獨的HTTP 要求從瀏覽器發送到伺服器。當需要修改伺服器端的資料時,應該使用doPost()方法。


    四、Servlet中的類:

    ServletRequestServletReponse在用戶端請求過來的時候,調用Servlet時傳遞過來的。事實上,我們在建立Servlet類時通常使用的是HttpServletRequest和HttpServletReponse。他們分別代表從用戶端而來的Http請求和處理請求的響應結果

 

    ServletConfig:從圖上可以看出,當初始化一個Servlet對象時,就會為這個對象建立一個ServletConfig對象,在ServletConfig對象中包含了Servlet初始化參數資訊。此外,Servlet容器在調用servlet對象的init(servletconfig)方法時,會把servletConfig對象當做參數進行傳遞給Servlet。

    ServletConfig介面提供方法,該方法返回:servlet名、Servlet上下文,初始化參數

  

    ServletContext:是Servlet和Servlet容器之間進行通訊的介面,其原理看:



    ServletContext存在於Web應用當中,當啟動一個Web應用時,會自動建立一個ServletContext對象。每一個Web應用對應一個ServletContext對象。在Web應用當中可以存放Servlet或JSP。ServletContext提供全域訪問,即所有的對象可以共用一個ServletContext。Servlet對象可以通過getServletContext()方法訪問和操作容器中的各種資源。
 

    ServletConfig 與 ServletContext的區別

    1.作用範圍:ServletContext作用於整個Web應用(相當於全域變數)ServletConfig作用於某個特定的Servlet對象,其他的Servlet不能訪問。(相當於局部變數)


    2.參數的訪問:ServletContext包含在ServletConfig中,在訪問ServletContext時先調用ServletConfig中的getServletConfig()方法,得到裡面的getServletContext()方法,然後再調用getInitParameter()方法就可以擷取它的參數。

     訪問ServletConfig參數,只需要調用getServletConfig()方法,然後調用getInitParameter()方法即可。 

   

   總結:Servlet技術是JSP技術的基礎,都是一種伺服器端技術,是一種用戶端與伺服器端之間互動的體現。Servlet的核心是Service()方法,Service()方法將請求指派到doGest(),doPost()處理。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.