head first 学习笔记 JSP&Servlet--3

[b]4. 初始化参数

servletConfig:

获取方式:getServletConfig()

容器初始化一个servlet时,会为这个servlet建立一个唯一的servletConfig

容器从web.xml中读取servlet初始化参数,并把这些参数交给servletConfig,servletConfig接着传递给servlet的init方法

不要在构造函数中获取初始化参数,一个servlet只有在执行init方法后才算一个完整的servlet。如果必要的话,一般需要覆盖无参的init方法

生命周期:

1.容器读取配置文件
2.new一个servletConfig
3.servletConfig根据配置文件生成一个MAP的键值对
4.new一个servletConfig.class的实例
5.容器再次调用init()方法

JSP不能访问每个servletConfig中的初始化设置

配置:在servlet内部配置

ServletContext:上下文初始化参数

获取方式:getServletContext()

配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:bme.service.xml
/WEB-INF/conf/global.datasource.xml
/WEB-INF/conf/*.service.xml /WEB-INF/conf/*.web.xml
classpath:org/codehaus/xfire/spring/xfire.xml
classpath:iManager/spring/repository_service.xml
</param-value>
</context-param>

servletContext与servletConfig之间的区别

1. 部署文件不同
一个是配置在web-app目录下
一个是配置在每个servlet下

2. 获取方式不同
getServletConfig(),getServletContext

3. 应用范围不同
getServletConfig只应用于单独对立的一个servlet。

getServletContext应用于所有的JSP和所有的servlet。


4. 监听器

使用场景:在某类时间出发之前或之后处理事件例如想监听一个上下文初始化事件,这样能获得一些上下文参数,并在应用客户端之前运行一些代码

如果实现上下文的监听器,则需要实现ServletContextListener

详细代码如下所表示:
package com.xzm.listen;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ContextListener implements ServletContextListener
{

public void contextDestroyed(ServletContextEvent arg0)
{
ServletContext sct = arg0.getServletContext();
sct.getInitParameter("ahah");
System.out.println("离开上下文监听器了.......");
}

public void contextInitialized(ServletContextEvent arg0)
{

System.out.println("进入上下文监听器了......");
} [/b]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值