ServletConfig对象的获取方式(干货)

首先:ServletConfig是什么?

        ServletConfig就是XML解析器对web.xml配置文件对象化后产生的一个对象,这个对象是每个Servlet对象都有的一个属性。如图:

        即,web容器在创建Servlet实例对象时,会自动将Servlet配置的初始化参数(init-param①如图)封装到ServletConfig对象中。Servlet在init()方法中进行初始化,在初始化过程中,将ServletConfig对象传给Servlet对象。因此每一个Servlet对象都独享一个ServletConfig对象来保存它的配置信息。

其次:如何获取ServletConfig对象?

      第一种情况:在Servlet初始化方法init()中:

        首先我们知道,必须要经过Servlet的初始化函数init(),才能将ServletConfig对象传给Servlet对象,所以,在init方法中(此时还没有执行完init()函数),也就是还没有完成初始化,所以,Servlet对象目前还没有ServletConfig对象这个属性,所以用this.getServletConfig()获取ServletConfig对象根本不管用,编译时不会报错,但是会在执行后报错为NullPointExpection异常。

        所以,我们要对Servlet完成初始化,才能使其获得ServletConfig这个属性。如图,我们调用Servlet父类GenericServlet的init(ServletConfig config)函数,在其中传入参数config,当父类完成初始化,父类和子类的属性中都有了ServletConfig对象,此时便可以通过this.getServletConfig()获取ServletConfig对象。

第二种情况:在其他方法中获取ServletConfig:

如在doGet方法中,直接获取即可:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        ServletConfig servletConfig = getServletConfig(); // 获取ServletConfig对象
    }

 最后:我们来看看ServletConfig对象能获取哪些信息:

 String  getServletName()    获取当前Servlet在web.xml中配置的名字String  getInitParameter(String name)  获取当前Servlet指定名称的初始化参数的值Enumeration  getInitParameterNames()  获取当前Servlet所有初始化参数的名字组成的枚举ServletContext  getServletContext()            获取获取代表当前web应用的ServletContext对象

另外这个ServletContext对象作用也很大:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值