本身不做業務
只接收請求并決定調用哪個javaBean去處理請求
確定用哪個頁面來顯示處理返回的數據
Ø Servlet 是什么Servlet是一個Java程序,是在服務器端運行以處理客戶端請求并做出響應的程序。
Server+Applet, 是一種服務器端的Java應用程序
只有當一個服務器端的程序使用了 servlet API的時候,這個服務端的程序才能稱之為Servlet.
Ø ServletAPI介紹API: 應用程序接口javax.servlet.Servlet
所有Java Servlet的基礎接口類。規定了必須由Servlet具體類實現的方法集。
javax.servlet.GenericServlet
是 Servlet的通用版本,是一種與協議無關的Servlet。
Javax.servlet.http.HttpServlet
在GenericServlet基礎上擴展的基于Http協議的Servlet.在程序中,常常是繼承此類。需要注意的是,Httpservlet的子類至少重寫以下方法中的一個 doGet()和doPost()。
Ø Servlet的生命周期Servlet容器負責加載和實例化Servlet。 Servlet容器有時候也叫做Servlet引擎,是Web服務器或應用服務器的一部分,用于在發送的請求和響應之間提供網絡服務。在這里我們可以把Servlet容器理解為 Tomcat。
加載和實例化當Servlet容器啟動或者容器檢測到客戶端請求時,加載和實例化。
Servlet容器會查找內存中是否存在Servlet實例,如果不存在,就創建,如果存在,就直接從內存中取出。
初始化 init()方法實例化后,容器調用 Servlet的init(), 初始化對象。
提供服務,請求處理 service()初始化后,Servlet就處于能響應請求的就緒狀態。此時得到客戶端請求并做出處理。(多線程響應)。
銷毀 destroy()方法當程序中的Servlet對象不再使用的時候或者Web服務停止的運行的時候
Ø Servlet的主要方法Init() | Servlet的初始化方法,僅僅會執行一次 |
Service() | 處理請求和生成響應 |
Destroy() | 在服務器停止并且程序中的Servlet對象不再使用的時候調用,只執行一次 |
ServletRequest | 封裝客戶的請求信息 |
ServletResponse | 創建響應信息,將處理結果返回給客戶端 |
ServletConfig | 包含了Servlet的初始化參數信息 |
//獲得參數
Request.getParameter(“param”);
//將輸入的內容轉換為中文
Request.setCharacteEncoding(“GBK”);
Request.setAttribute(“loginname”,user);
HttpServletResponse response 對象常用方法//解決中文亂碼問題
Response.setContentType(“text/html;charset=GBK”);
Response.sendRedirect(“url”);
轉發RequestDispatcher dispatcher = request.getRequestDispatcher(url);
首先定義轉發器。參數 url 是魚轉發的頁面或者 Servlet的URL地址。
Dispatcher.forward(request,response);
然后實現轉發的功能,參數為請求、響應對象。
14.2 Servlet 的部署與配置當前項目的web.xml
<web-app>
<servlet>
<servlet-name>自定義名稱</servlet-name>
<servlet-class>servlet實際類的具體位置</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>同上自定義的名稱 </servlet-name>
<url-pattern>用戶訪問Servlet的URL</url-pattern>
</servlet-mapping>
</web-app>
新聞熱點
疑難解答