1. 程式人生 > >Servlet小結(2)

Servlet小結(2)

檢測 網頁 而不是 第一次 垃圾收集 時間 nbsp servle com

jsp和servlet的聯系:
jsp文件被tomcat加載成java文件,此java文件實現了servlet標準(接口)的子接口,由此追溯到servlet標準.
瀏覽器訪問的是編譯好的class,而不是jsp文件
2.在maven中直接用java文件實現網頁制作,要獲取與瀏覽器的聯系且我們使用的是HTTP協議,所以我們創建的類要繼承httpServlet
接口,重寫裏面的方法。常用的是doGet和doPost方法。
***:訪問Servlet需要通過路徑(一個servlet可配置多個訪問路徑)
配置訪問路徑:
a> web.xml配置:
<servlet>
<servlet-name>HttpServletTest</servlet-name><!-- servlet名字 -->
<servlet-class>com.xt.web.servlet.HttpServletTest</servlet-class> <!-- servlet class目錄 -->
</servlet>
<servlet-mapping>
<servlet-name>HttpServletTest</servlet-name> <!-- 通過servlet名字配置訪問路徑 -->
<url-pattern>/helloWorld</url-pattern><!-- servlet訪問路徑 註意路徑之前必須加/-->
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpServletTest</servlet-name> <!-- 通過servlet名字配置訪問路徑 -->
<url-pattern>/helloWorld.html</url-pattern><!-- servlet訪問路徑 註意路徑之前必須加/-->
</servlet-mapping>

一個servlet 可以配置多個訪問路徑


b> 當使用的servlet版本大於3.0,同事tomcat版本高於7,可以采用註解的方式配置servlet
eg :@WebServlet("/testServlet")

3.servlet的生命周期:
1> 加載Servlet:服務器啟動時加載;
2> 初始化servlet:當servlet第一次實例化(第一次被訪問)時調用init()初始化;也可以通過配置web.xml是服務器
加載時就被初始化.
3> 處理服務: 當有請求時,servlet會調用service()方法(常用doGet()與doPost());
4> 銷毀: 當web容器關閉或檢測到一個servlet被刪除時會自動調用destory()方法釋放實例
5> 卸載: 當一個實例調用destory()方法後,此時離將等到被垃圾收集器回收,如需在使用此servlet需要重新初始化.
* 註意: 正常情況下servlet只會初始化一次,而服務處理會被調用多次,銷毀也只調用一次.(當你關閉web容器時才會被銷毀),但一個
servlet長時間不使用的話也可能會被容器自動銷毀,所以在特殊情況下可能會初始化多次獲銷毀多次.

獲取初始化配置信息:
1> 在web.xml中配置初始化參數:
<servlet>
<servlet-name>ElTest</servlet-name>
<servlet-class>com.xt.web.servlet.hotel.ELTest</servlet-class>
<init-param>
<param-name>1</param-name>
<param-value>www.hao123</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>ElTest</servlet-name>
<url-pattern>/doLogin</url-pattern>
</servlet-mapping>

Servlet小結(2)