Java Web組件Servlet、Filter、Listener
阿新 • • 發佈:2017-05-19
繼承 一個 tex 請求 父類 服務器 監聽 alt tco
一、Servlet 類javax.servlet.http.HttpServlet; 1.是單例模式,一個web容器中只有一個實例。服務器調用它的service方法進行請求處理, service方法又根據請求的類型分別調用doGet,doPost等方法。 2.由於是單例模式,所以線程不安全 3.自定義Servlet需繼承HttpServlet,並重寫相應的doGet等方法。方法體內不能調用父類的該方法。 web.xml註冊: <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>com.zk.baseservlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myservlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 二、Filter 類javax.servlet.Filter; 1.過濾器首先執行init方法,從web.xml中的filter配置中讀取信息進行初始化。只執行一次。 2.客戶端的每次請求,都會經過doFilter方法。過濾器必須配置攔截路徑。 3.多個過濾器執行流程 MyFilter1 before MyFilter2 before MyFilter3 before servlet doget method MyFilter3 after MyFilter2 after MyFilter1 after 是個U型流程
web.xml註冊: <filter> <filter-name>myfilter1</filter-name> <filter-class>com.zk.basefilter.MyFilter1</filter-class> </filter> <filter-mapping> <filter-name>myfilter1</filter-name> <url-pattern>/*</url-pattern> <init-param><param-name>name</param-name><param-value>lisi</param-value></init-param> </filter-mapping> 三、Listener 類ServletContextListener 監聽器用於監聽並接收被監聽對象的變化 1.容器啟動通知contextInitialized方法在filter和servlet前調用。 2.contextDestroyed方法在容器關閉後,filter和servlet銷毀後調用。
不完善的地方歡迎大家補充
Java Web組件Servlet、Filter、Listener