过滤器和监听器笔记
过滤器和监听器
l Servlet规范
- Ø Servlet 动态网页技术
- Ø Filter技术 过滤器
- Ø Listener技术 监听器
l Jsp规范
l Filter也是运行在服务器端的小程序,优于servlet、jsp等执行,起到拦截作用
l 核心方法:doFilter
1) 参数1:ServletRequest 请求,使用时,一般需要向下转型HttpServletRequest req = (HttpServletRequest) request;
2) 参数2:ServletResponse 响应,使用时,也需要向下转型HttpServletResponse resp = (HttpServletResponse)
3) 参数3:FilterChain 这个对象就是用来决定是否放行的对象,放行时,调用该对象的doFilter(req, resp);
l 网络邮箱服务器
- Ø 邮件发送代码:
1) 导包:


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 监听器
- Ø javaWeb中的监听器:主要是用来监听request、session、application(ServletContext)三个对象,总共8种监听器
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 定时任务实现
- Ø 需要使用到Timer类

- Ø 代码演示
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”
- Ø 连接池中的close不是关闭资源,是将连接对象归还到连接池中

浙公网安备 33010602011771号