Jsp-java servers page – java服務器頁面
Servlet-server applet –服務端小應用程序
Servlet是一個特殊的Java類,這個類必須繼承HttpServlet類
Servlet類有doGet()和doPost()方法來響應客戶端請求,還有init()和destroy()方法。
Servlet源文件必須編譯爲class文件並放在WEB-INF/class路徑下(或具體包名下),爲了讓Servlet能響應用戶請求,還需要在web.xml文件中配置Servlet
通過web.xml配置Servlet需要配置以下兩個部分:
1. 配置Servlet的名字:對應web.xml中的<servlet/>元素
2. 配置Servlet的URL:對應web.xml中的<servlet-mapping/>元素
Ps:配置的具體含義爲將匹配servlet-mapping元素中url的所有用戶請求轉交給servlet中配置的Servlet去處理,實現url路由
Servlet/JSP生命週期
1. 創建Servlet有兩種類型
a) 客戶端第一次請求某個Servlet時,web容器調用Servlet的init()方法實例化該Servlet(大部分)
b) Web應用啓動時立即實例化的Servlet(如spring的核心DispatcherServlet)
2. 立即啓動的servlet通過在web.xml中<servlet/>元素的<load-on-startup/>子元素進行配置
a) Load-on-startup元素只接受一個整型值,整型值越小,Servlet就越優先實例化
3. 訪問Servlet的配置參數
a) 通過在web.xml文件中的<servlet/>元素中添加<init-param…/>子元素來指定
b) Servlet的配置參數通過ServletConfig對象完成,ServletConfig提供如下方法
i. String getInitParameter(String): 獲取初始化參數
c) ServletConfig獲取的是當前Servlet的配置參數,ServletContext獲取的是整個web應用的配置參數
4. 根據嚴格的MVC規範,視圖文件不應該被客戶端直接訪問,必須經過控制層作爲中轉將用戶請求forward到指定視圖文件並返回給客戶端