监听器与过滤器知识点总结

1. Servlet程序的监听器

1.1. 当servlet程序运行时,使用监听器在常用的内置对象创建或者销毁的时机进行业务处理

1.2. 监听对象:ServletContext,HttpSession,HttpServletRequest

1.3. 监听内容:以上对象的创建、销毁、属性改变的事件

1.4. 监听作用:可以在以上事件发生之前或之后进行业务处理

1.5. 使用监听器实现保存网站访问量的步骤

1.5.1. 创建自定义的Listener,实现ServletContextListener接口

1.5.2. contextInitialized方法:当ServletContext对象初始化时contextInitialized会自动调用

1.5.3. contextDestroyed方法:当ServletContext对象被销毁时,contextDestroyed会自动调用

1.5.4. 利用contextInitialized方法,在ServletContext被创建时,读取上一次保存在硬盘中的文件数据,并将网站访问量的值保存在ServletContext对象

1.5.5. 利用contextDestroyed方法,在ServletContext被销毁时,获取ServletContext对象的访问量的值,写入硬盘的指定文件

1.5.6. 登录功能中每次用户登录,使用ServletContext的count变量来记录登录的次数

1.5.7. 在web.xml中配置listener

<!-- 配置自定义监听器:在ServletContext对象创建或销毁时进行业务操作 -->

<listener>

<listener-class>com.listener.TestListener</listener-class>

</listener>

2. 过滤器

2.1. 过滤器:使用过滤器,在一次请求发送到Servlet程序的前后进行拦截请求,做业务处理

2.2. 过滤器作用:用来统一设置字符编码或者权限控制

2.3. 设置过滤器的步骤

2.3.1. 自定义过滤器,implements javax.servlet.Filter

2.3.2. 在doFilter方法中进行业务操作,例如设置字符编码

2.3.3. Request和response对象需要向下转型为HttpServletRequest,HttpServletResponse

2.3.4. chain.doFilter(req, resp); 将被拦截的请求继续交给对应的servlet程序处理

2.4. 过滤器设计采用了递归算法,一次请求被过滤器拦截后,会两次进入过滤器

2.4.1. 第一次进入过滤器:请求被拦截时

2.4.2. 第二次进入过滤器:对应的servlet程序代码执行完毕后,且返回下一个请求路径之前

3. JSP页面权限控制的步骤

3.1. 设计公共的jsp页面:统一处理没有保存session数据的请求,如果session中不存在指定的数据,则将当前请求重定向到登录页面

Common.jsp代码

<%

if(session.getAttribute("uname")==null){

response.sendRedirect("login.jsp");

return;

}

%>

3.2. 在需要设置权限的JSP页面引用公共JSP页面

<%@ include file="common.jsp" %>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值