天天看點

J2EE的13個規範之(三) Servlet簡介

       Servlet是一種伺服器端腳本,它是一個特殊的Java類,繼承自HttpServlet,開發中主要用于處理和響應用戶端的請求。

       Servlet在容器中運作,其執行個體的和銷毀建立由容器進行控制。每個Servlet的運作都遵循如下生命周期:

       (1)(容器)建立Servlet執行個體。

       (2)init(初始化,顯示相關Servlet執行個體資訊,如log)。

       (3)Service(處理和響應請求,如接受表單請求參數并進行請求轉發)。

       (4)destroy(銷毀,釋放資源)。

       将Servlet(即java類)編譯成class檔案,容器加載class檔案,為了能讓Servlet能處理使用者請求,必須要将Servlet配置在web應用中,在web.xml中進行配置。配置Servlet需要配置兩個部分:

       (1).配置Servlet的名字。

       (2).配置Servlet的URL映射。

Filter

        Filter并不是一個标準的Servlet,它不能處理使用者請求,也不能對用戶端生成響應。主要用于HttpServletRequest進行預處理,也可以對HttpServletResponse進行後處理,是個典型的處理鍊。

J2EE的13個規範之(三) Servlet簡介

        Servlet通常隻配置一個url,而Filter可以同時攔截多個請求的url。建立Filter必須實作javax.servlet.Filter接口,該接口定義了三個方法:

       (1)voidinit(FilterConfig config)

       (2)voiddestroy()

       (3)void doFilter(HttpServletRequest request, HttpServletResponseresponse, FilterChain chain),實作過濾,就是對使用者請求和響應增加額外處理。在過濾器開始運作之後,wen容器每接收到與該過濾器URL模式相比對的URL時,就會調用這個方法。

        Servlet運作于支援Java的應用伺服器中。從實作上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet隻用來擴充基于HTTP協定的Web伺服器。最早支援Servlet标準的是JavaSoft的Java Web Server。此後,一些其它的基于Java的Web伺服器開始支援标準的Servlet。