笔记——ServletConfig与ServletContext

来源:互联网 发布:ubuntu修改命令提示符 编辑:程序博客网 时间:2024/06/05 18:57

ServletConfig对象

*每个servlet都有一个ServletConfig对象

*用于向servlet传递部署时信息

*用于访问ServletContext

*参数在部署描述文件中部署

 

 

初始化参数

<servlet>

    <servlet-name>ParamTests</servlet-name>

    <servlet-class>com.TestInitParams</servlet-class>

    <init-param>

      <param-name>zy</param-name>

      <param-value>zy@test.com</param-value>

    </init-param>

  </servlet>

 

在servlet代码中

读取一个

getServletConfig().getInitParameter("zyEmail");

读取所有参数

java.util.Enumeration e = getServletConfig().getInitParameterNames();

while(e.hasMoreElements()){

    String s = e.nextElement().toString();

    out.println("<br>param name = " + s +"<br>");

    out.println(getServletConfig().getInitParameter(s));

}

getServletConfig()是ServletConfig的一个方法(容器初始化一个servlet时,会为这个servelt建一个唯一的ServletConfig.容器从部署描述文件中读取servlet初始化参数,并把这些参数交给ServletConfig,然后把ServletConfig传递给servlet的init()方法)

(父类有两个版本的init()方法,一个无参的,一个有ServletConfig参数,带参的会调用无参的init()方法,所以继承时只需重写无参数的就够了)

 

 

ServletContext对象

*每个Web应用有一个ServletContext对象

*用于访问Web应用参数(参数也在部署描述文件中配置)

*相当于一种应用公告栏,可以在这里放置消息(称为属性),应用的其他部分可以访问这些消息

*得到服务器信息,包括容器名、容器版本,以及所支持API的版本等


上下文初始化参数

与servlet初始化参数类似,只不过上下文参数对整个Web应用可用,而不是只针对一个servlet

 

如:

<context-param>

    <param-name>zyEmail</param-name>

    <param-value>zy@testEmail.com</param-value>

  </context-param>

 

getServletContext().getInitParameter("zyEmail");


上下文监听器(只实现ServletContextListener接口)

部署描述文件中要放入一个<listener>元素

<listener>

    <listener-class> 

       com.MyServletContextListener    

</listener-class>

</listener>

用监听器使用ServletContext引用在ServletContext中设置Dog属性

 



0 0
原创粉丝点击