Servlet规范系列 之 ServletConfig源码分析

更新时间:2020-08-19 10:09:23 点击次数:1032次
对于ServletConfig,按照字面意思理解来看,是Servlet的配置类。实际情况也的确如此,ServletConfig在服务中可以获得Servlet的配置信息。

ServletConfig源码

package javax.servlet;

import java.util.Enumeration;

/**
 * Servlet配置对象.用于Servlet容器在Servlet初始化期间传递配置.
 */
public interface ServletConfig {

    /**
     * 获取Servlet名称.
     * @return Servlet名称.
     */
    public String getServletName();

    /**
     * 获取当前Servlet上下文对象ServletContext.
     * @return ServletContext对象.
     */
    public ServletContext getServletContext();

    /**
     * 根据参数名获取Servlet初始化参数.
     * @param name 参数名.
     * @return 参数值.
     */
    public String getInitParameter(String name);

    /**
     * 获取所有Servlet初始化参数.
     * @return 参数枚举.
     */
    public Enumeration getInitParameterNames();

}

ServletConfig的API定义十分简单,一共提供了4个方法,getServletName()、getInitParameter(String name)、getInitParameterNames()用于获取Servlet的配置信息(无论是2.x版本通过web.xml配置还是3.x版本通过编程式方式配置)。getServletContext用户获取Servlet容器的上下文,为Servlet中获取ServletContext提供了通道。

getServletName():以2.x版本为例,可在如下配置中获取“Test Servlet”。

<servlet>
    <servlet-name>Test Servlet</servlet-name>
<servlet>

getInitParameter(String name):以2.x版本为例,可以在如下配置中获取“TestInit”的值“val”。

getInitParameterNames():在配置多个init-param的情况下,可以使用getInitParameterNames获得所有参数名的枚举。

<servlet>
    <init-param>
<description>测试初始化参数</description>
    <param-name>TestInit</param-name>
    <param-value>val</param-value>
</init-param>
</servlet>

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!