过滤器和监听器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”