servlet 核心技術
阿新 • • 發佈:2018-08-23
cse doget 事件監聽器 跟蹤 形式 lte ava 參數 接口 和
servlet 生命周期
在 servlet 生命周期中,servlet 容器完成加載 servlet 類和實例化一個 servlet 實例,並通過3個方法來完成生命周期中的其他階段。
- init() 方法:負責 servlet 的初始化工作,該方法由 servlet 容器調用完成。
- service() 方法:處理客戶端請求,並返回響應結構。
- destroy() 方法:在 servlet 容器卸載 servlet 之前被調用,釋放系統資源。
使用方法Servlet
創建 servlet 類的 java 文件,然後在 WEB-INF 中的 web.xml 中修改配置,配置過程是由<servlet>
<servlet-mapping>
元素實現的。
舉個例子:
<!-- 配置Servlet -->
<servlet>
<servlet-name>ServletSample</servlet-name>
<servlet-class>sunyang.ServletSample</servlet-class>
</servlet>
<!-- 配置Servlet映射路徑 -->
<servlet-mapping>
<servlet-name>ServletSample</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>
或者是使用註解的形式(使用的是 urlPatterns 屬性)
如:
@WebServlet(name="Servletsample", urlPatterns="/HelloWorld")
-
開發一個普通的 Servlet 只需拓展
javax.serlvet.GenericServlet
即可,GenericServlet 類定義了一個普通的,協議無關的 servlet。在拓展 GenericServlet 時必須要重載 service() 方法。
-
要創建一個用於 web 的 HTTP Servlet,則需要拓展
javax.servlet.http.HttpServet
。HttpServlet 用於處理 HTTP 請求。需要重載 HttpServlet 的 doGet() 方法和 doPost() 方法。
獲取運行環境信息
Servlet 信息包括 Servlet 的初始化信息,Servlet 的初始化參數名和 Servlet 名稱,這些信息通常配置在web.xml 中,可通過 javax.servlet.ServletConfig 接口中定義的方法來獲取。
Servlet 中的會話設置
Servlet api 內置了會話跟蹤支持,那就是 HttpSession 對象。
Servlet 中異常處理
可以使用兩種處理異常的方式:
- 在 try/catch 語句塊中直接生成並輸出異常信息的頁面,或者將異常轉發到異常處理的 Servlet 或 JSP 頁面中。
- 在 web.xml 中通過
<error-page>
元素指定異常處理
Servlet 過濾器
在 web.xml 中定義,<filter>
元素用於配置 Servlet 過濾器。
Servlet 監聽器
Servlet 監聽器類型:
- ServletContext 事件監聽器:用於監聽應用程序環境對象。
- HttpSession 事件監聽器:用於監聽用戶會話對象。
- ServletRequest 事件監聽器:用於監聽請求消息對象。
在 web.xml 中定義, `<listener>
元素用於配置Servlet 過濾器。
servlet 核心技術