Servlet ---- ServletConfig接口

一、在哪里使用过?

在Servlet的初始化的时候,会用到这个接口,如下:

public class HelloServlet implements Servlet {

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("HelloWorld收到了init" + servletConfig.getServletName());
    }
  }

二、ServletConfig接口

ServletConfig:代表当前Servlet在web.xml中的配置信息
ServletConfig是个接口,一共五个方法,分别如下:

public interface ServletConfig {
	//获取当前Servlet在web.xml中配置的名字
    String getServletName();
	
	//获取代表当前web应用的ServletContext对象
    ServletContext getServletContext();

	//获取当前Servlet指定名称的初始化参数的值
    String getInitParameter(String var1);

	//获取当前Servlet所有初始化参数的名字组成的枚举
    Enumeration<String> getInitParameterNames();
}

三、ServletConfig接口方法详解

getServletName()(这个平时一般用的不多)

这个方法不用多说,就是获取web.xml配置中的这个servlet的名字。

getServletContext()

获取代表当前web应用的ServletContext对象。
这个相对其他几个,较难理解。得先理解什么是ServletContext ?**ServletContext 就代表当前web应用(非常重要)**这个单独写篇文章吧。

getInitParameter()

获取当前Servlet指定名称的初始化参数的值。
这个怎么理解呢?什么叫做初始化参数,在Servlet的配置文件中,可以使用一个或多个标签为servlet配置一些初始化参数。如下:

<servlet>
        <servlet-name>ServletConfigTest</servlet-name>
        <servlet-class>com.vae.servlet.ServletConfigTest</servlet-class>
        <init-param>
            <param-name>name1</param-name>
            <param-value>value1</param-value>
        </init-param>
        <init-param>
            <param-name>encode</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </servlet>

像这样,就可以配置很多个初始化参数,随便什么名称都可以,为啥,这个初始化参数是配置来你自己用的,不是给servlet接口处理的,是你在程序中获取到他们,进行处理,所以叫啥都可以,看你。
那么怎么使用呢?对,就用到这个ServletConfig接口。
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。

getInitParameterNames()

获取当前Servlet所有初始化参数的名字组成的枚举。

一般这样使用,

// --获取当前Servlet中配置的初始化参数(全部获取)经常用到
         Enumeration enumration = config.getInitParameterNames();
         while(enumration.hasMoreElements()){
       		 	String name = (String) enumration.nextElement();
         		String value = config.getInitParameter(name);
         		System.out.println(name+":"+value);
         }

这个可以获得所有初始化参数的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值