10.17随堂笔记(监听器、过滤器)

过滤器

过滤器功能
分析请求,将请求发送给指定的资源或自己创建一个响应返回
在请求到达服务器端前处理请求,设置请求信息,将请求封装成符合规则的对象
在响应到达客户端前处理响应,将响应封装成符合规则的对象

过滤器的执行
过滤器处理请求采取以下3种行动之一
过滤器自身产生一个响应,返回给客户端
把请求转发给过滤器链中的下一个过滤器,如果是最后一个过滤器则将请求转发给请求指定资源
把请求转发到另一资源

Filter接口
init()方法
Servlet容器最先调用过滤器的init()方法,初始化过滤器,生命周期中只调用一次
doFilter()方法
Servlet容器调用doFilter()方法处理请求
destroy()方法
Servlet容器最后调用destroy()方法,释放过滤器所占的资源

Filter过滤器链
Web容器加载的顺序:web.xml文件中配置的Filter的倒序
拦截执行顺序:web.xml文件中配置的Filter的正序
销毁顺序:web.xml文件中配置的Filter的倒序

监听器(Listener)简介

监听器是一个实现特定接口的普通Java程序,这个程序专门用于监听另一个Java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行

编写监听器的步骤
编写实现类
在web.xml中进行部署
编写测试页面

监听器的应用
ServletContext范围的监听器可以进行一些初始化的动作,如:当Web应用启动的时候进行全局配置
Session范围的监听器对一个会话过程(与客户端关联)中所产生的事件进行响应,可以对客户端信息的变化进行跟踪
Request范围的监听器可以监听用户的每次请求

数据库的访问
JDBC数据库连接技术
1.加载数据库的驱动程序(前提首先引入数据库驱动的jar包)
Class.forName(“driverName”);
2.建立数据库连接
String connStr = “jdbc:<JDBC驱动程序名:端口号>:数据源”
Connection conn=DriverManager.getConnection(connStr);
JDBC数据库连接技术
3.执行数据库操作SQL
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
4.关闭数据库连接
conn.close();

分页实现方案
将数据一次性取出,缓存在内存中,当用户从页面发出查看特定页面的请求时,将内存中缓存的数据根据请求返回给客户
效率高,内存占用大
当用户从页面发出查看特定页面的请求,会根据请求向数据库中取出一页的数据,每次请求都进行一次数据库检索的操作
效率低,节省内存

一次取出,在内存中分页
优点
只进行一次数据库查询,效率高
缺点
数据不够准确,经常取得过期数据
内存耗费巨大

多次访问数据库
使用MySQL的limit操作符
优点
数据准确,节省内存
缺点
多次数据连接会降低效率(使用连接池解决)
使用数据库专用的SQL语句,通用性低

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值