Servlet(web.xml/註解)
1. 父類HttpServlet,重寫doGet(),doPost()方法
2. 與JSP區別:servlet用作控制器,JSP用於展示
3. 生命週期:2個創建時機(應用啓動時/客戶端第一次訪問時) ,重寫init,desdory方法,輸出打印行,觀察啓動,銷燬時機。
a)創建Servlet實例
b)調用Servlet的init方法,進行初始化
c)存在於容器中,用於相應客戶端doGet(),doPost()請求
d)銷燬時,調用destroy()方法
3.load-on-startup Servlet:應用啓動時觸發,用於提供後臺服務(如計時器等)
4. 缺省的Servlet,/ web服務器已經默認配置,建議不手動配。接口
5. Servlet現場安全問題,實現singleThreadModel標記接口,實際爲生成多個Servlet對象
6. ServletConfig: 初始化參數(對特定的servlet有效),配置在web.xml中,web服務器在創建Servlet時,將這些參數封裝成ServietConfig對象,傳入init方法中。
配置碼錶,配置文件等
7. ServletContext域:代表整個Web應用,共享數據,初始化全局參數(數據庫連接),轉發請求;
讀取資源文件(getResouceOfStream/getResouce)普通java類通過class.getClassLoader().getResouceOfStream()(不能重複讀取的問題,文件大小的問題);
JSP自定義標籤
1.作用:取代JSP腳本(不在JSP中寫java代碼)
2. 開發流程:
a)開發自定義標籤類:繼承SimpleTagSupport,重寫doTag()方法
b)建立TLD文件(Tag Library Definition) : 標籤庫定義文件,放到應用WEB-INF路徑/子路徑下
c)JSP頁面引入標籤庫<%@ taglib url="" prefix="" %>
Filter
1.作用:對請求進行預處理,對response進行後處理。(責任鏈)
a)常見Filter: 用戶授權,日誌,解碼等
2.開發流程:
a)實現javax.servlet.Filter接口,實現init(), destory(), doFilter()方法
b)web.xml/註解配置
3.生命週期:同Servlet
URL Rewrite
1.作用:時間網站僞靜態
Listener
1.作用:監聽web應用的內部時間,事件發生時回調監聽器方法。
2. 開發流程:
a)繼承對應Listener,重寫方法
b)web.xml/註解配置(@WebListener)
3. 常用Listener:ServletContextListener, ServletRequestListener, HttpSessionListener等
JSP特性
1. web.xml中配置屬性:編碼,是否允許JSP腳本,是否允許使用EL表達式等
2. EL表達式:${expressuib},簡化的數據訪問方式,替代JSP腳本。
a)表達式語言內置對象:pageContext,pageScope,requestScope,sessionScope,applicationScope,param,cookie等
b)自定義函數:i.java靜態方法 ii.在TLD標籤庫定義文件中定義 iii.JSP頁面導入標籤庫,使用
Servlet3.0新特性
1. annotation
2.Web.xml分模塊部署,管理
3.異步處理:ServletRequest的AsyncContext startAsync()
4. 文件上傳的支持。
5. 編碼方式註冊Servlet,Filter