標籤:servlet
Servlet配置及生命週期方法
關於Servlet容器:
1.可以來建立Servlet並調用Servlet相關的生命週期的方法
2.JSP,Filter,Listener,Tag...(都有Servlet容器管理,並運行,提供環境支援)
3.Servlet生命週期的方法:(以下方法都是Servlet容器負責調用)
3.1 構造器方法:第一次請求Servlet時建立Servlet的執行個體,調用構造器,第二次在請求時不再建立構造器,依次類推,Servlet是單一實例(安全執行緒的),只被調用一次
3.2 init(ServletConfig config)方法;在建立執行個體後立即被調用,用於初始化Servlet,也只被調用一次(注意參數很重要)
3.3 service()方法;每次請求都會被調用,被多次調用
3.4 destory()方法;只被調用一次,在當前Servlet的所在的WEB應用被卸載前調用,用於釋放當前Servlet所佔用的資源
5.load-on-start參數:
配置在Servlet節點中,可以指定Servlet被建立的時機,若為負數則在第一次請求時被建立,若為0或者正數,則在當前web應用被Servlet容器載入時建立執行個體,且數值越小越早被建立
<!--配置Servlet-->
<servlet>
<!--Servlet註冊的名字-->
<servlet-name>helloServlet</servlet-name>
<!--Servlet的全類名-->
<servlet-class>package.className</servlet-class>
<!-- 可以指定Servlet被建立的時期-->
<load-on-startup>1<load-on-startup>
</servlet>
<servlet-mapping>
<!--需要和某一個Servlet節點的servlet-name子節點文本節點一致-->
<servlet-name>helloServlet</servlet-name>
<!--映射具體的訪問路徑,/代表當前的WEB應用的根目錄-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
6、一個Servlet可以有多個url-pattern與之映射
可以使用萬用字元 * 映射
1.帶* 只有兩種合法,/*,*.do(...)
2.既帶/,又帶副檔名的不合法
Servlet聲明周期小結