-
servlet3.0下监听器的用法 直接在类里添加@WebListener声明即可,不需要去web.xml配置. 在servlet2.5下可以在web.xml中定义注册过滤器与监听器,有定义顺序,所以启动服务器时也按照这个顺序加载.但在Servlet3.0下,无法去定义包括过滤器与监听器的定义顺序,所以加载的顺序由Web容器决定.查看全部
-
使用servlet3.0的前提条件查看全部
-
HttpSession对象的绑定、解绑与钝化、活化方法的签名: 实现HttpSessionBindingListener接口: public void valueBound(HttpSessionBindingEvent arg0){} public void valueUnbound(HttpSessionBindingEvent arg0){} 实现HttpSessionActivationListener接口: public void sessionWillPassivate(HttpSessionEvent se){}//钝化 public void sessionDidActivate(HttpSessionEvent se){}//活化查看全部
-
Persistentmanager管理器下:查看全部
-
Tomcat中有两种Session钝化管理器,Session钝化机制是由SessionManager管理的,SessionManager下有StandardManger管理器与Persistentmanager管理器. StandardManger管理器下: 当Tomcat服务器被关闭或重启时,tomcat服务器会将当前内存中的Session对象钝化到服务器文件系统中,即当服务器关闭或重启的时候,这时有用户访问,它的Session对象会立刻钝化到服务器的文件系统中.当我们服务器重启之后,便会加载保存在服务器的文件系统,加载Session对象,加载之后文件也随之被删除.查看全部
-
Session钝化机制 钝化:将session对象持久化到存储设备时 活化:将session对象从存储设备恢复 session正常会存在服务器内存,服务器会对每个在线用户创建一个session对象.当在线用户很多时,则session的量很大,对服务器内存的开销也因此很大,会直接影响Web服务器的性能.Session钝化机制便可以解决这个问题.session钝化机制的本质是把服务器不经常使用的session对象暂时序列化到存储设备(系统文件或数据库中),当要使用时,则反序列化到服务器内存中,该过程由服务器自动完成。 要求javabean实现HttpSessionActivationListener接口(还要实现Serializable反序列化接口,此接口没有方法),也不需要在web.xml配置,当javabean实现了HttpSessionActivationListener接口与Serializable接口之后,只要这个类的对象保存在session中,并且当session钝化时会执行实现接口的sessionWillPassivate()方法,活化时会执行sessionDidActivate()方法.查看全部
-
监听绑定到HttpSession域中的某个对象的状态的事件监听器又分两种. 一种是绑定与解除绑定(HttpSessionBindingListener接口),另一种是钝化与活化(HttpSessionActivationListener接口). 绑定:把javabean的对象通过session.setAttribute()方法保存在Session当中. 解绑:通过session.removeAttribute()方法删除保存在Session中的javabean对象. 要求javabean实现HttpSessionBindingListener接口,并不是监听器实现这个接口,因此不用在Web.xml配置.当javabean实现了HttpSessionBindingListener接口之后,只要这个类的对象被Session绑定了,此时便会促发事件,执行valueBound()方法.查看全部
-
servlet3.0使用条件查看全部
-
Session钝化管理器-Persistentmanager查看全部
-
Tomcat钝化管理器-StandardManger查看全部
-
Session钝化机制查看全部
-
监听绑定HttpSession域中的对象查看全部
-
添加属性用setAttribute()方法,获取属性用getAttribute()方法. request.getSession()方法可以获取到session对象. session.getServletContext()方法可以获取到application对象.查看全部
-
三个域对象属性的创建、替换与销毁方法签名: 实现ServletContextAttributeListener接口: public void attributeAdded(ServletContextAttributeEvent servletcontextattributeevent){} public void attributeRemoved(ServletContextAttributeEvent servletcontextattributeevent){} public void attributeReplaced(ServletContextAttributeEvent servletcontextattributeevent){} 实现ServletRequestAttributeListener接口: public void attributeAdded(ServletRequestAttributeEvent servletrequestattributeevent){} public void attributeRemoved(ServletRequestAttributeEvent servletrequestattributeevent){} public void attributeReplaced(ServletRequestAttributeEvent servletrequestattributeevent){} 实现HttpSessionAttributeListener接口: public void attributeAdded(HttpSessionBindingEvent httpsessionbindingevent){} public void attributeRemoved(HttpSessionBindingEvent httpsessionbindingevent){} public void attributeReplaced(HttpSessionBindingEvent httpsessionbindingevent){} 方法名都一样,只是参数类型不同.查看全部
-
一个项目中可以注册多个实现ServletContextListener接口的监听器,只能有一个ServletContext对象(自动创建). 一个项目中可以注册多个实现HttpSessionListener接口的监听器,可以有多个HttpSession对象. 一个项目中可以注册多个实现ServletRequestListener接口的监听器,可以有多个ServletRequest对象.查看全部
举报
0/150
提交
取消