過濾器和監聽器java
l Servlet規範小程序
l Jsp規範tomcat
l Filter也是運行在服務器端的小程序,優於servlet、jsp等執行,起到攔截做用服務器
l 核心方法:doFilter網絡
1) 參數1:ServletRequest 請求,使用時,通常須要向下轉型HttpServletRequest req = (HttpServletRequest) request;session
2) 參數2:ServletResponse 響應,使用時,也須要向下轉型HttpServletResponse resp = (HttpServletResponse)app
3) 參數3:FilterChain 這個對象就是用來決定是否放行的對象,放行時,調用該對象的doFilter(req, resp);jsp
l 網絡郵箱服務器測試
1) 導包:spa
2) 修改相關配置:
1 #郵件發送協議 2 3 mail.transport.protocol=SMTP 4 5 #郵件發送服務器地址 6 7 mail.host=smtp.163.com 8 9 #郵件發送者(以誰的名義發送郵件) 10 11 from=18105185234@163.com
15 #發送郵件時,進行受權驗證 16 17 mail.smtp.auth=true 18 19 #受權帳號:通常爲發送者郵箱地址@以前的字符串 20 21 username=18105185234 22 23 #受權密碼:非帳號密碼(進入郵箱設置) 24 25 password=jihuo666
3) Java代碼
1 package test; 2 3 import utils.MailUtils; 4 5 6 7 public class SendTest { 8 9 public static void main(String[] args) { 10 11 MailUtils.sendMail("18105185234@163.com", "測試主題", "測試內容。。。"); 12 13 } 14 15 }
l 監聽器
1) 監聽request、session、application的建立和銷燬
2) 監聽request、session、application中的數據的變化
3) 監聽session中Bean對象的保存和移除,不一樣於session中的數據的變化,針對的是實體Bean對象
4) session的鈍化和活化監聽
a) 鈍化:服務器正常關閉時,將session中的數據(實現了序列化接口java.io.Serializable的對象)序列化到服務器中的tomcat\work\Catalina\localhost\項目名\SESSION.ser)
b) 活化:在服務器再次啓動時,使用反序列化技術將SESSION.ser文件中的數據再讀取到服務器的內存(session)中!
l 定時任務實現
1 package demo; 2 3 4 5 import java.util.Timer; 6 7 import java.util.TimerTask; 8 9 10 11 /** 12 13 * 定時器演示 14 15 */ 16 17 public class TimerDemo { 18 19 public static void main(String[] args) { 20 21 // 每隔1秒打印一次hello 22 23 // 1. 建立定時器 24 25 Timer timer = new Timer(); 26 27 // 2. 建立任務 28 29 TimerTask task = new TimerTask() { 30 31 public void run() { 32 33 System.out.println("hello"); 34 35 } 36 37 }; 38 39 // 3. 下發任務:3秒以後,每隔1秒執行一次 40 41 timer.schedule(task, 3000, 1000); 42 43 } 44 45 }
l 附加內容
例如:' "+path+"/login.jsp' == > 「 「 + xxx + 」/login.jsp」