願景:"讓程式設計不再難學,讓技術與生活更加有趣"
更多架構課程請通路 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;
幹貨文檔
關注公衆号發送:“CSDN幹貨文檔” 即可領取