文档详情

Servlet监听和过滤选编.ppt

发布:2017-04-17约1.7千字共63页下载文档
文本预览下载声明
第8章 Servlet监听和过滤 ;内 容 提 要;;8.1 Servlet监听器;;8.1.1 Servlet上下文监听;ServletContextListener接口的方法 ;ServletContextAttributeListener接口中的方法;;程序8-1 实现Servlet上下文监听器接口,当Web容器调用事件的处理方法时,在控制台输出相应的信息。 ;;;1.服务器已启动时,停止服务器,控制台的输出信息为: contextDestroyed方法被调用,ServletContext对象被销毁了! 2.重新启动服务器,控制台的显示信息为: contextInitialized方法被调用,ServletContext对象被初始化了! ;;8.1.2 Session监听;Session监听器接口 ;;HttpSessionListener接口的方法 ;;HttpSessionAttributeListener接口中的方法 ;;程序8-2 实现Session监听,显示当前在线的人数。OnlineUserListener同时实现ServletContextListener接口和HttpSessionListener接口。实现ServletContextListener接口中的方法以监听ServletContext对象的初始化和销毁。实现HttpSessionListener接口中的方法以监听HttpSession对象的初始化和销毁,更改当前访问人数,并写入到ServletContext对象中。showOnline.jsp测试监听器并显示当前的在线人数。 ;;;打开IE窗口,请求showOnline.jsp,显示结果如图所示。;打开一个新的IE窗口,请求showOnline.jsp,显示结果如图所示。;程序8-3 扩展程序8-2,利用Session监听显示在线用户名。login.jsp用户登录,由LoginServlet处理,LoginServlet将用户信息存入ServletContext对象中,并重定向到ShowOnlineServlet;ShowOnlineServlet显示所有当前用户并给出当前用户的注销连接。LogoutServlet将当前用户信息从ServletContext中删除,并销毁当前Session,完成注销。 ;;;;请求login.jsp,limei和 wangmingming分别登录后的显示结果如图所示。 ;当前用户wangmingming注销后的显示结果如图所示。 ;因为limei不是当前用户,所以无法注销,重启服务器,limei登录并注销,显示结果如图所示。;8.1.3 请求消息对象监听;ServletRequestListener接口的方法 ;ServletRequestAttributeListener接口中的方法;程序8-4 实现请求域对象的监听,request.jsp中显示当前访问的时间,并将访问时间存入request对象中。MyServletRequestListener实现ServletRequestListener以及ServletRequestAttributeListener两个接口。;;;第一次请求request.jsp页面,显示结果如图所示。;控制台的输出为:;再次刷新页面,??提交新的请求,显示结果如图所示。;控制台的输出为:;8.2 过滤器;8.2.1 过滤器的工作原理;8.2.1 过滤器的工作原理;;8.2.2 过滤器的创建和配置;8.2.2 过滤器的创建和配置;;程序8-5 使用过滤器解决Servlet/JSP中的中文乱码问题。;;;;请求register.html页面,并填写相应的信息并提交后,显示结果如图所示。;8.2.3 过滤器链;过滤器链可以通过web.xml文件中的配置来实现,其工作流程如图所示。;程序8-6 过滤器链使用示例。MyFilter1和MyFilter2组成过滤器链。filter.html用于演示过滤器链的调用情况。;;;;小 结;Thank You !
显示全部
相似文档