天天看點

小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0

小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0

 願景:"讓程式設計不再難學,讓技術與生活更加有趣"

更多架構課程請通路 xdclass.net

目錄

第1集 什麼是Servlet-開發你的第一個動态網站

第2集 Servlet裡面的doPost-doGet和路徑比對講解

第3集 【原理面試題】Servlet生命周期你知道多少

第4集 新版Servlet3.0~5.0和舊版配置的差別你知道嗎

幹貨文檔

第1集 什麼是Servlet-開發你的第一個動态網站

簡介:什麼是Servlet,開發第一個動态網站

  • 什麼是Servlet
    • 簡介:是JavaServlet的簡稱,用Java編寫的運作在Web伺服器或應用伺服器上的程式,具有獨立于平台和協定的特性, 主要功能在于互動式地浏覽和生成動态Web内容
    • 作用:接收使用者通過浏覽器傳來的表單資料,或者讀取資料庫資訊傳回給浏覽器檢視,建立動态網頁
    • 接口路徑:package javax.servlet
      • 有兩個常見的子類:HttpServlet、GenericServlet
  • JavaWeb Servlet文檔:https://tomcat.apache.org/tomcat-9.0-doc/servletapi/index.html
  • 再次介紹Web項目的目錄,學javaweb更多的是學裡面的類和對怎麼用,多做筆記
  • 建立第一個Servlet程式

1)建立Class,繼承HttpServlet

2) 重寫doGet方法,傳回HTML内容

public class UserServlet extends HttpServlet {
​
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
​
        //實戰響應内容
        resp.setContentType("text/html;charset=utf-8");
​
        PrintWriter printWriter = resp.getWriter();
​
        printWriter.write("<div> 小滴課堂 xdclass.net 你好,讓技術不再難學 </div>");
​
    }
}
3) 配置web.xml





      <servlet>
        <servlet-name>userServlet</servlet-name>
        <servlet-class>net.xdclass.web.UserServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>userServlet</servlet-name>
        <url-pattern>/userServlet</url-pattern>
    </servlet-mapping>
4)啟動tomcat,進行通路





           

第2集 Servlet裡面的doPost-doGet和路徑比對講解

簡介:講解重寫doGet和doPost方法作用

  • doGet方法:
    • http用get方式送出的請求,普通的查詢就會進入到此方法
  • doPost方法:
    • ​http用post方式送出的請求就會進入到此方法
    • ​ postman工具:
      • 作用: 專門用來模拟Http多種方式送出的工具,開發測試必備利器
      • 提供安裝包直接安裝使用
      • 選擇post方式送出
  • 還有其他的doHead、doDelete等,一樣的都是根據http送出Method來區分
  • Servlet通路URL使用路徑映射(注意:一定要加 / 開頭)
    • url-pattern:以”/’開頭,可以用 /xxx/yy 來區分子產品,* 是通配符,最好用子產品區分,防止通配符都映射成但不同優先級導緻問題

第3集 【原理面試題】Servlet生命周期你知道多少

簡介: 講解Servlet的生命周期

  • Servlet 接口裡面有5個方法,其中三個生命周期方法和兩個普通方法
    • 執行個體化->使用構造方法建立對象
    • 初始化->執行init方法:Servlet 的生命期中,僅執行一次 init() 方法,它是在伺服器裝入 Servlet 時執行的,即第一次通路這個Servlet才執行
  • 服務->執行service方法,service() 方法是 Servlet 的核心。每當一個客戶請求一個HttpServlet 對象,該對象的service() 方法就要被調用
  • 銷毀-> 執行destroy方法,destroy() 方法僅執行一次,即在伺服器停止且卸裝 Servlet 時執行該方法
public interface Servlet {
​
   void init(ServletConfig var1) throws ServletException;
​
   ServletConfig getServletConfig();
​
   void service(ServletRequest var1, ServletResponse var2) throws ServletException, IOException;
​
   String getServletInfo();
​
    void destroy();
​
}


           
  • 檢視繼承和實作關系 XXXServlet->HttpServlet->GenericServlet->implements Servlet
  • HttpServlet裡面實作了service方法,裡面會根據不同的http method調用不同的方法,是以我們自定義servlet隻要重寫對應的doXXX方法即可

第4集 新版Servlet3.0~5.0和舊版配置的差別你知道嗎

簡介:講解新版Servlet和舊版Servlet配置的差別

  • 舊版Servlet,在xml裡面配置類目和路徑,比較不友善
  • 新版Servelt,也就是3.0之後,支援注解的方式
@WebServlet(name = "userServlet",urlPatterns = {"/user1","/user2","/test"})
public class UserServlet extends HttpServlet {
     @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
​
        System.out.println("doGet");
        //實戰響應内容
        resp.setContentType("text/html;charset=utf-8");
​
        PrintWriter printWriter = resp.getWriter();
​
        printWriter.write("<div> doGet 小滴課堂 xdclass.net 你好,讓技術不再難學 </div>");
​
    }
}
           
  • 配置項
//servlet名稱,若不指定,則為Servlet的完整類名
String name() default "";
​
//路徑映射,配置多個,需要/開頭
 String[] value() default {};
​
//路徑映射,支援配置多個,需要/開頭
  String[] urlPatterns() default {};
​
 //标記容器是否在啟動應用時就加載Servlet,預設或數值為負數時表示第一次請求Servlet時再加載;0或正數表示啟動應用就加載
  int loadOnStartup() default -1;
​
 //配置初始參數
  WebInitParam[] initParams() default {};
​
//是否支援異步操作模式
 boolean asyncSupported() default false;




           

幹貨文檔

小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0
小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0
小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0
小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0

                                                        關注公衆号發送:“CSDN幹貨文檔”  即可領取

小滴課堂-學習筆記:javaweb開發核心之玩轉Servlet4.0