笔记——ServletConfig与ServletContext

xiaoxiao2021-02-28  83

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>

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-78226.html

最新回复(0)