servlet入門

來源:互聯網
上載者:User

標籤:伺服器配置   搭建   多個   cat   組件   j2ee   https   檔案中   web應用   

1.servlet是什嗎?

   java servlet 是為響應web應用程式內容相關的Http請求而設計的。

   建立一個servlet時需要使用子類HttpServlet,該類中的方法允許你訪問請求和響應封裝器(wrapper),你可以用這個封裝器處理請求和建立響應。

當然,HTTP 協議不是特定於 Java 的。它只是一個規範,定義服務要求和響應的大致式樣。Java servlet 類將那些低層的結構封裝在 Java 類中,這些類所包含的便利方法使其在 Java 語言環境中更易於處理。正如您正使用的特定 servlet 容器的設定檔中所定義的,當使用者通過 URL 發出一個請求時,這些 Java servlet 類就將之轉換成一個 HttpServletRequest,並發送給 URL 所指向的目標。當伺服器端完成其工作時,Java 運行時環境(Java Runtime Environment)就將結果封裝在一個 HttpServletResponse 中,然後將原 HTTP 響應送回給發出該請求的客戶機。在與 Web 應用程式進行互動時,通常會發出多個請求並獲得多個響應。所有這些都是在一個會話語境中,Java 語言將之封裝在一個 HttpSession 對象中。在處理響應時,您可以訪問該對象,並在建立響應時向其添加事件。它提供了一些跨請求的語境。

容器(如 Tomcat)將為 servlet 管理運行時環境。您可以配置該容器,定製 J2EE 伺服器的工作方式,而且您必須 配置它,以便將 servlet 暴露給外部世界。正如我們將看到的,通過該容器中的各種設定檔,您在 URL(由使用者在瀏覽器中輸入)與伺服器端組件之間搭建了一座橋樑,這些組件將處理您需要該 URL 轉換的請求。在運行應用程式時,該容器將載入並初始化 servlet,管理其生命週期。

當我們說 servlet 具有生命週期時,只是指在調用 servlet 時,事情是以一種可預見的方式發生的。換言之,在任何 servlet 上建立的方法總是按相同的次序被調用的。下面是一個典型情境:

  • 使用者在瀏覽器中輸入一個 URL。Web 服務器設定檔確定該 URL 是否指向一個由運行於伺服器上的 servlet 容器所管理的 servlet。
  • 如果還沒有建立該 servlet 的一個執行個體(一個應用程式只有一個 servlet 執行個體),那麼該容器就載入該類,並將之執行個體化。
  • 該容器調用 servlet 上的 init()。
  • 該容器調用 servlet 上的 service(),並在封裝的 HttpServletRequest 和 HttpServletResponse 中進行傳遞。
  • 該 servlet 通常訪問請求中的元素,代表其他伺服器端類來執行所請求的服務並訪問諸如資料庫之類的資源,然後使用該資訊填充響應。
  • 如果有必要,在 servlet 的有用生命結束時,該容器會調用 servlet 上的 destroy() 來清除它。

 

 

原文串連:http://www.ibm.com/developerworks/cn/education/java/j-intserv/index.html

servlet入門

聯繫我們

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