小小六

学无止境

Servlet&JSP学习之servlet属性和监听(1)_servletConfig和servletContext

 

servletConfig方法列表

String getInitParameter(String name)

返回name的实际初始化值

Enumeration getInitParameterNames()

以数组的形式返回所有的初始化值

ServletContext getServletContext()

返回上下文

String getServletName()

返回这个servlet实例的名称

在XMl中的代码表现形式是这样滴:

<servlet>

<init_param>

        <param_name>myEmailAddress</param_name>

        <param_value>pengjunxlx@yahoo.com.cn</param_value>

</init_param>

</servlet>

在servlet代码中:

String emailAddress = getServletconfig().getInitparameter("myEmailAddress");//这里的myEmailAddress也就是上面在XML中定义的<param_name>myEmailAddress</param_name>

 

容器初始化一个servlet的时候,他会读DD,就是XML配置文件,并为servletConfig创建名/值对。具体的步骤是这样:

  1. 容器读取这个servlet的部署描述文件,包括servlet初始化参数(<init_param></init_param>)
  2. 容器为这个servlet创建一个新的servletConfig实例
  3. 容器为每个servlet初始化参数创建一个String 名/值对。
  4. 容器想servletConfig提供String 名/值初始化参数的引用
  5. 容器为servlet类创建一个实例
  6. 容器调用servlet的init()方法,传如servletConfig引用

问题来了:这个数据要是JSP也想用怎么办呢?

在servlet中:request.setAttribute("jspEmail",emailAddress );

然后在JSP中:request.getAttribute("jspEmail");

但是,如果想这样一个属性,需要在很多地方用到,那就最好用上下文初始化参数了:servletContext

servletContext

servletContext与servletConfig的比较学习:

  servletConfig servletContext
适用范围 只对配置了<init_param>响应的servlet适用 适用于整个web项目
部署表述文件
<web_app>
... ...
<servlet>
<init_param>
    <param_name></param_name>
    <param_value></param_value>
</init_param>

</servlet>
......
</web_app>

<web_app>
... ...
   <servlet>
   ... ...
   </servlet>
  <context_param>
         <param_name></param_name>
          <param_value></param_value>
   </context_param>
... ...
</web_app>
servlet代码中的表现 getServletconfig().getInitparameter("  ") getServletContext().getInitParameter("  );

 

servletContext还能做什么?看看servletContext主要的一些方法吧:

servletContext是JSP活着servlet与容器及WEB应用其他部分的一个连接。

Object getAttribute(String name)

通过name得到属性

Enumeration getAttributeNames()

得到属性数组

String getInitParameter(String name)

得到初始化参数

Enumeration getInitParameterNames()

得到初始化参数数组

void setAttribute(String name, Object object)

设置属性

void removeAttribute(String name)

删除属性

RequestDispatcher getRequestDispatcher(String path)

请求分派

posted on 2008-12-22 14:19 peterJ 阅读(573) 评论(0)  编辑  收藏 所属分类: Servlet&JSP


只有注册用户登录后才能发表评论。


网站导航:
 
<2008年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜