1. 程式人生 > >Servlet基礎知識

Servlet基礎知識

上下 void att 業務 類繼承 doget 中間 pos doget()

1.什麽是Servlet?
Servlet是一個符合特定規範的Java程序,是一個基於Java技術的Web組件,運行在服務器端,由Servlet容器所管理,用於生成動態的內容;

2.Servlet和JSP的關系:JSP在運行時首先解析成一個Java類,該類繼承於HttpJspBase類,而HttpJspBase又是繼承自HttpServlet類,所以結論為
--》JSP在運行時會被Web容器翻譯為一個Servlet。

3.Servlet API:
-->1.使用Servlet API可以開發HTTP Servlet或其他Servlet,Servlet API包含在兩個包內。
javax.servlet包中的類和接口支持通用的不依賴協議的Servlet,包括Servlet、ServletRequest、ServletResponse、ServletConfig、
ServletContext接口及抽象類GenericServlet
-->2.Servlet接口的常用方法:
void init(ServletConfig config)由servlet容器調用,用於對象在處理客戶請求前的初始化工作;
void service(ServletReques req,ServletResponse res)由servlet容器調用,用於處理客戶端的請求;
void destroy():釋放Servlet對象所使用的資源;
ServletConfig getServletConfig():返回ServletConfig對象,該對象包含此servlet的初始化和啟動參數,返回的對象時傳遞給init()
方法的對象;
String getServletInfo():返回有關servlet的信息,如作者、版本和版權,返回的字符串是純文本;
-->3.抽象類GenericServlet:實現了Servlet接口和ServConfig接口,定義了通用的、不依賴於協議的Servlet

常用方法:
void init(ServletConfig config):調用Servlet接口中的init()方法;
String getInitParameter(Stringname):返回名稱為name的初始化參數的值;
ServletContextgetServletContext():返回ServletContext對象的引用;
-->4.抽象類HttpServlet:繼承自GenericServlet類,具有與GenericServlet類似的方法和對象,支持HTTP的post()和get()方法;

常用方法:
void service(ServletRequest req,ServletResponse res):調用GenericServlet類中的service()方法的實現;
void service(HttpServletRequest req,HttpServletResponse res):相當於一個分發器,可以根據請求方法的類型,調用相應的doXxx()方法;
void doXxx(HttpServletRequest req,HttpServletResponse res):如doGet()、doPost(),根據請求方式不同,分別調用相應的處理方法
-->5.ServletConfig接口:一般Servlet容器使用ServletConfig對象在初始化期間向其傳遞配置信息,一個Servlet只有一個ServletConfig對象

常用方法:
String getIntParameter(String name):獲取web.xml中設置的以name命名的初始化參數值;
ServletContext getServletContext():返回Servlet的上下文對象引用;
-->6.ServletContext對象:一個ServletContext對象表示一個Web應用的上下文,Servlet容器提供ServletContext接口的實現,在應用程序加載時
創建ServletContext對象,且被容器中的所有Servlet共享

常用方法:
String getIntParameter(String name):獲取名稱為name的系統範圍內的初始化參數值;
void setAttribute(String name,Object object):設置名稱為name的屬性;
Object getAttribute(String name):獲取名稱為name的屬性

4.Servlet的生命周期:加載--》實例化--》初始化--》響應服務--》銷毀

5.使用Servlet實現控制器
Servlet和JSP的區別:
-->Servlet是在服務器上執行和解釋瀏覽器的請求,承擔客戶端和其他應用程序之間的中間層的角色,主要是把動態的內容混合到靜態內容中以產生HTML;
-->JSP頁面在HTML元素嵌入Java腳本代碼和JSP標記
Servlet和JSP可以結合使用,合理分工,Servlet擅長流程控制和業務處理,JSP方便在頁面展示數據

Servlet基礎知識