JavaWeb之Servlet
概念:運行在服務器端的小程式
執行原理:
JavaWeb核心—Servlet介面
常用方法
Servlet的體系結構與使用步驟
重寫Servlet中的方法
概念:運行在服務器端的小程式
Java Servlet 是運行在 Web 服務器或應用服務器上的程式,它是作為來自 Web 瀏覽器或其他 HTTP 客戶端的請求和 HTTP 服務器上的資料庫或應用程式之間的中間層,
使用 Servlet,您可以收集來自網頁表單的用戶輸入,呈現來自資料庫或者其他源的記錄,還可以動態創建網頁,
Servlet就是一個介面,定義了Java類被瀏覽器訪問到(tomcat識別)的規則,
將來我們自定義一個類,實作Servlet介面,復寫方法,
狹義的Servlet是指Java語言實作的一個介面,廣義的Servlet是指任何實作了這個Servlet介面的類,一般情況下,我們將Servlet理解為后者,
執行原理:
1. 當服務器接受到客戶端瀏覽器的請求后,會決議請求URL路徑,獲取訪問的Servlet的資源路徑
2. 查找web.xml檔案,是否有對應的<url-pattern>標簽體內容,
3. 如果有,則在找到對應的<servlet-class>全類名(2,3步驟也可以通過注解實作-常用)
4. tomcat會將位元組碼檔案加載進記憶體,并且創建其物件
5. 呼叫其方法


JavaWeb核心—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();
}
常用方法
1. 被創建:執行init方法,只執行一次,一般用于申請資源
Servlet的init方法,只執行一次,說明一個Servlet在記憶體中只存在一個物件,Servlet是單例的,
多個用戶同時訪問時,可能存在執行緒安全問題,
解決:盡量不要在Servlet中定義成員變數,即使定義了成員變數,也不要對修改值
2. 提供服務:執行service方法,執行多次(可以業務邏輯代碼)
每次訪問Servlet時,Service方法都會被呼叫一次,
3. 被銷毀:執行destroy方法,只執行一次,一般用于釋放資源
Servlet被銷毀時執行,服務器關閉時,Servlet被銷毀
只有服務器正常關閉時,才會執行destroy方法,
destroy方法在Servlet被銷毀之前執行,一般用于釋放資源
Servlet的體系結構與使用步驟

重寫Servlet中的方法
public class ServletDemo implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
//初始化方法
//在Servlet被創建時,執行 只會執行一次
System.out.println("init.........");
}
@Override
public ServletConfig getServletConfig() {
//Servlet的配置方法
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
//提供服務的方法
System.out.println("service......");
}
@Override
public String getServletInfo() {
//獲取servlet的資訊
return null;
}
@Override
public void destroy() {
//銷毀方法
//在服務器正常關閉時,執行 執行一次
System.out.println("destroy....使用組態檔");
}
}
創作不易,如果本篇博客對您有一定的幫助,大家記得留言+點贊哦,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/260574.html
標籤:java
