ServletConfig对象和ServletContext对象配置初始化参数

本文详细介绍了ServletConfig和ServletContext在Web应用中的作用及使用方法。ServletConfig主要用于加载servlet的初始化参数,每个servlet对应一个ServletConfig对象;而ServletContext则表示整个Web应用的上下文环境,在一个Web应用中只有一个实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ServletConfig对象 :

主要是用于加载servlet的初始化参数。在一个web应用可以存在多个  
ServletConfig对象(一个Servlet对应一个ServletConfig对象)

servlet的初始化参数配置:

一定也要有<servlet-mapping> 不然无法得到servlet参数

        <servlet>
        <servlet-name>ServletConfigTest</servlet-name>
        <servlet-class>Hello.ServletConfig</servlet-class>
        
         <!-- 初始参数: 这些参数会在加载web应用的时候,  
         封装到ServletConfig对象中 -->
        <init-param>
            <param-name>name1</param-name>
            <param-value>value1</param-value>
        </init-param>
        <init-param>
            <param-name>CCCC</param-name>
            <param-value>CCCC's value</param-value>
        </init-param>
         <!-- 让servlet对象自动加载 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
           <servlet-mapping>
              <servlet-name>ServletConfigTest</servlet-name>
              <url-pattern>/ServletConfig</url-pattern>
        </servlet-mapping>

注意:
this.getServletConfig()得到ServletConfig对象

ServletConfig的API:

java.lang.String getInitParameter(java.lang.String name)  根据参数名获取参数值
java.util.Enumeration getInitParameterNames()    获取所有参数
ServletContext getServletContext()     得到servlet上下文对象
java.lang.String getServletName()       得到servlet的名称

举例:

        System.out.println(this.getServletConfig().getInitParameter("name1"));//常用
        System.out.println(this.getServletConfig().getServletName());         //不常用

ServletContext对象:

Servlet的上下文对象。表示一个当前的web应用环境。  
一个web应用中只有一个ServletContext对象。

得到对象:
两种方式得到getServletContext:

1. ServletContext context = this.getServletContext();
2. ServletContext context =   
   this.getServletConfig().getServletContext();

web.xml:

<context-param>
        <param-name>AAA</param-name>
        <param-value>AAA's value</param-value>
    </context-param>
    <context-param>
        <param-name>BBB</param-name>
        <param-value>BBB's value</param-value>
    </context-param>
    <context-param>
        <param-name>CCC</param-name>
        <param-value>CCC's value</param-value>
    </context-param>

Servlet:

//得到SErvletContext对象
        ServletContext context = this.getServletContext();
        //ServletContext context = this.getServletConfig().getServletContext();
        
        System.out.println("参数"+context.getInitParameter("AAA"));
        
        Enumeration<String> enums = context.getInitParameterNames();
        while(enums.hasMoreElements()){
            String paramName = enums.nextElement();
            String paramValue  =context.getInitParameter(paramName);
            System.out.println(paramName+"="+paramValue);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值