Javaweb-ServletConfig

本文介绍了ServletConfig对象在Servlet中的作用及其使用方法。通过配置文件设置初始化参数,并通过ServletConfig对象获取这些参数,适用于编码表设定、数据库连接信息及配置文件路径等场景。

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

一、ServletConfig对象

  1. 在Servlet配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数;
  2. 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的initial方法时,将ServletConfig对象传递给servlet,进而程序员通过ServletConfig对象得到当前servlet的初始化参数信息;
  3. 样例:
<servlet>
    <servlet-name>Demo5</servlet-name>
    <servlet-class>demo.Demo5</servlet-class>
    <init-param>
        <param-name>data</param-name>
        <param-value>abc</param-value>
    </init-param>
</servlet>

二、实例说明

package demo;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//@WebServlet("/servlet/Demo5")
public class Demo5 extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public Demo5() {
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        //得到指定的参数信息
          String value =  this.getServletConfig().getInitParameter("data");
          System.out.println(value);

          //当有多个参数时,获取所有的参数信息
          Enumeration e = this.getServletConfig().getInitParameterNames();
          while(e.hasMoreElements()){
              String name = (String) e.nextElement();
              String value1 = this.getServletConfig().getInitParameter(name);
              System.out.println(name + "=" + value);
          }
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request, response);
    }

}

三、使用场景

在实际开发中,有些内容不适合在servlet程序中写死,这时我们通过配置文件将这些数据传递给servlet

场景一:servlet采用的编码表

配置文件:

<init-param>
        <param-name>charset</param-name>
        <param-value>UFT-8</param-value>
    </init-param>
场景二:servlet连接的数据库

配置文件:

<init-param>
        <param-name>url</param-name>
        <param-value>jdbc:mysql://localhost:3306/test</param-value>
    </init-param>
    <init-param>
        <param-name>username</param-name>
        <param-value>root</param-value>
    </init-param>
    <init-param>
        <param-name>password</param-name>
        <param-value>root</param-value>
    </init-param>
场景三:servlet读取的配置文件
<init-param>
        <param-name>config</param-name>
        <param-value>/struts-config.xml</param-value>
    </init-param>
  • 备注:传智播客视频学习笔记
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值