1. 程式人生 > 實用技巧 >2021.1.11

2021.1.11

Servlet

Servlert概念
是javaEE十三個規範中的一個,規範就是藉口,使用java語言編寫的執行在伺服器端的小程式

2.快速入門
1.實現Servlet藉口,並實現五個方法
init():---->初始化當前Servlet資訊,只會呼叫一次
getServletConfig():--->獲取當前Servlet配置資訊
Servlet():--->獲取當前Servlet類對外提供的具體服務,就在Service裡面,每次請求都會呼叫一次
getServletinfo():---->獲取Servlet類的相關資訊
destory():--->銷燬Servlet類物件資訊,當Servlet物件用多個的時候就會被銷燬
web.xml程式碼演示





Test
/aa

<!--ServletDemo01,要關聯專案中對應的Servlet服務類-->
<servlet>
    <servlet-name>Test</servlet-name><!--關聯起來就不會報紅了-->
    <servlet-class>demo01.Test</servlet-class><!--是一個全限定類名,類的全路徑=包名+類名 刻畫u但視窗i西安市的就是這個類裡面的Servlet方法中的資料-->
    <load-on-startup>1</load-on-startup><!--手動指定服務類載入的時機,數字越小越先被載入-->
</servlet>

<!--對於Tomcat伺服器來說,預設開啟的頁面是以index開頭的頁面,index.html或者index.jsp,就是歡迎頁面-->
<welcome-file-list>  <!--是一個歡迎介面列表--><!--優先級別,從上往下趙,前面沒找到才會找後面的-->
    <!--但是一般是不指定的使用Tomcat預設的歡迎介面-->
    <welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
                   **Servlet實現類程式碼演示**

//讓該類變成一個Servlet類,需要遵從Servlet規範--->實現Servlet介面
//用於連結客戶端和服務端的中間器件 需要藉助Tomcat
//首先把專案部署到Tomcat中
public class ServletDemo01 implements Servlet {

//init()--->初始化當前Servlet資訊
@Override
public void init(ServletConfig servletConfig) throws ServletException {

}


//getServletConfig-->獲取當前Servlet配置資訊
@Override
public ServletConfig getServletConfig() {
    return null;
}


//Service()-->獲取當前Servlet類對外提供的具體服務,就在Service裡面,每次請求都會呼叫一次
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
    //請求改服務,讓頁面顯示一句話
    System.out.println("請求成功!");  //這個只會顯示子在服務視窗不會顯示在客戶端,就要使用流操作
    //資料傳輸  使用流  列印流  列印到客戶端中
    servletResponse.getWriter().write("aiaiaiia");
  }


//getServletInfo()-->獲取Servlet類的相關資訊
@Override
public String getServletInfo() {
    return null;
}


//destory--->銷燬Servlet類物件資訊,當Servlet物件呼叫多個時候就會被銷燬
@Override
public void destroy() {

}

}

2.部署步驟
1.先部署到當前專案到Tomcat中
2.讓瀏覽器刻畫段找到專案對外提供的服務--->就是路徑的對映:url-pattern,在web.xml中註冊服務:目的就是對映瀏覽器客戶端的url地址,就是具體某個服務請求
3.啟動Tomcat伺服器--->點選執行小圖示--->會執行預設的頁面--->對於Tomcat伺服器來說,預設開啟的頁面就是index開頭的html或者jsp頁面,也就是我們的歡迎頁面
4.啟動Tomcat頁面,並把url田家瑋我們之前設定的url-pattern標籤地址,就能顯示我們指定的servlet-class標籤類,Servlet方法裡面的資料了

3.內部實現原理
1.Servlet是一套javaEE的規範:約束服務端的請求,包含三個技術點:Servlet技術(服務),filter技術(過濾器),listener技術(監聽器)
2.原理:當客戶端傳送請求過來,Tomcat會先解析請求的url路徑,在web.xml檔案中去找對應的url- pattern標籤地址,找到了就去讀取在servlet-name標籤裡面的類名,找到對應的服務類,載入服務類資訊,Tomcat會建立找到的類物件,再呼叫裡面的servlet方法,執行裡面的內容,如果該服務類是第一次被請求,就會呼叫init()方法初始化該類物件的資訊,然後再呼叫service方法裡面的內容

4.Servlet生命週期
nit()::::::服務類第一次請求的時候,建立物件就會呼叫init()方法初始化類物件資訊
service():::::每次傳送請求的時候會被執行。
ServletRequest:代表請求,會把Http請求的所有資訊裝配到ServletRequest物件中
ServletResponse:代表響應,會把Http響應中的資訊裝配到ServletReponse物件中
destory():Servlet類物件被銷燬的時候就會被呼叫--->比如程式碼該了,類物件就被銷燬了,伺服器被銷燬