Servelet

  Servlet 运行在Servlet容器中,比如Jetty、Tomcat等都是Servlet容器。Servlet容器已成为一种独立发展的标准化产品,种类已不少,不好说哪个好哪个坏,视不同的应用场景来选择合适的容器,在定制化和移动领域有不错的发展的有日渐流行的Jetty,但是大多数企业级应用用的还是Tomcat。

  Tomcat 的容器等级中,Context 容器是直接管理 Servlet 在容器中的包装类 Wrapper,所以 Context 容器如何运行将直接影响 Servlet 的工作方式。真正管理 Servlet 的容器是 Context 容器,一个 Context 对应一个 Web 工程,在 Tomcat 的配置文件中可以很容易发现这一点。

  

  Servlet 中的 Listener

  整个 Tomcat 服务器中 Listener 使用的非常广泛,它是基于观察者模式设计的,Listener 的设计对开发 Servlet 应用程序提供了一种快捷的手段,能够方便的从另一个纵向维度控制程序和数据。目前 Servlet 中提供了 6 种两类事件的观察者接口,它们分别是:4 个 EventListeners 类型的,ServletContextAttributeListener、ServletRequestAttributeListener、ServletRequestListener、HttpSessionAttributeListener 和 2 个 LifecycleListeners 类型的,ServletContextListener、HttpSessionListener。

  8个常用的 Listener 汇总

  javax.servlet.ServletContextListener          ServletContext的创建和销毁

  javax.servlet.ServletContextAttributeListener           ServletContext中的Attribute的添加、删除或替换

 

  javax.servlet.ServletRequestListener              ServletRequest的创建和销毁

  javax.servlet.ServletRequestAttributeListener         ServletRequest中的Attribute的添加、删除或替换

 

  javax.servlet.http.HttpSessionListener             Session的创建和销毁

  javax.servlet.http.HttpSessionAttributeListener        Session中的Attribute的添加、删除或替换

 

  javax.servlet.http.HttpSessionBindingListener         当一个Attribute类从Session中绑定或移除时得到通知

  javax.servlet.http.HttpSessionActivationListener       当一个Attribute类被迁移到另一个JVM时得到通知

  

 

参考文章:http://www.ibm.com/developerworks/cn/java/j-lo-servlet/

  

posted @ 2014-05-20 23:26  Direct  阅读(1073)  评论(0编辑  收藏  举报