ServletContext的概念和作用范围

ServletContext是javax.servlet包内定义的接口,Web容器会为每个Web程序构造一个实现该接口的对象实例,通过这个对象,Servlet可以和web容器进行交互,如获取Web容器版本号,通过Web容器的日志机制记录信息等;也可以和同一Web程序的其他Servlet进行交流,如可以通过该对象的属性来共享数据。

获取ServletContext()对象的方法:

  • 通过ServletConfig对象的getServletContext()方法获取。

    ServletContext sc=getServletConfig().getServletContext();

  • 直接通过Servlet的getServletContext()方法获取

    ServletContext sc=getServletContext();(其实底层实现也是通过ServletConfig对象)

web程序只有一个ServletContext对象,程序内所有Servlet获取的实质都是同一个对象的引用,因此可以使用它进行数据共享。

 

ServletContext获取初始化参数的方法,

  String getInitParameter(String name)  获取名为name的初始参数值,不存在时返回nul

  Enumeration getInitParameterNames()  获取所有初始参数的名称,不存在时返回空的Enumeration,不会返回null

 

使用ServletContextAttributeListener监听器

监听器实际是一个实现特定接口的java类。Servlet中定义了几种监听器接口,分别对应不同的事件类型,这里介绍ServletContextAttributeListener。ServletContextAttributeListener接口定义了三个方法,

Web容器调用监听器方法时,通过传入ServletContextAttributeEvent对象来描述事件的详细情况。

 

 

posted @ 2017-05-28 15:55  奋斗的蜗牛cn  阅读(1354)  评论(0编辑  收藏  举报