07-ServletConfig类

ServletConfig类

  • servlet程序和servletconfig对象都是由tomcat负责创建,我们负责使用
  • servlet程序默认是第一次访问的时候创建,servletconfig是每个servlet程序创建时,就创建一个对应的servletconfig对象(不能和别的servlet程序共享)

ServletConfig类的三大作用

1.可以获取servlet程序的别名servlet-name的值

2.获取初始化参数init-param

3.获取servletContext对象

代码演示

 <servlet>
        <servlet-name>ServletDemo03</servlet-name>
        <servlet-class>com.tian.servlet.ServletDemo03</servlet-class>
        <init-param>
            <param-name>username</param-name>
            <param-value>root</param-value>
        </init-param>
        <init-param>
            <param-name>password</param-name>
            <param-value>123</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletDemo03</servlet-name>
        <url-pattern>/demo03</url-pattern>
    </servlet-mapping>
public class ServletDemo03 extends  HelloServlet{

    @Override
    public void init(ServletConfig config) throws ServletException {
//        1.可以获取servlet程序的别名servlet-name的值
        System.out.println("ServletDemo03程序的别名是"+config.getServletName());
        //ServletDemo03程序的别名是ServletDemo03
//        2.获取初始化参数init-param
        System.out.println("初始化参数username的值是:"+config.getInitParameter("username"));
        //初始化参数username的值是:root
        System.out.println("初始化参数password的值是:"+config.getInitParameter("password"));
        //初始化参数password的值是:123
//        3.获取servletContext对象
        System.out.println(config.getServletContext());
        //org.apache.catalina.core.ApplicationContextFacade@7c2802f5


    }
}

补充说明

如果我们重写了init方法,一定要加上 super.init(config);

否则报空指针异常

public class ServletDemo03 extends  HelloServlet{

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);//加上这句
//        1.可以获取servlet程序的别名servlet-name的值
        System.out.println("ServletDemo03程序的别名是"+config.getServletName());
        //ServletDemo03程序的别名是ServletDemo03
//        2.获取初始化参数init-param
        System.out.println("初始化参数username的值是:"+config.getInitParameter("username"));
        //初始化参数username的值是:root
        System.out.println("初始化参数password的值是:"+config.getInitParameter("password"));
        //初始化参数password的值是:123
//        3.获取servletContext对象
        System.out.println(config.getServletContext());
        //org.apache.catalina.core.ApplicationContextFacade@7c2802f5


    }
}

上一篇:声网 Agora 上市一周年,从 RTC 到 RTE,重视开发者生态


下一篇:Java-PMD:如何仅在lambda表达式中忽略短变量名