ServletConfig对象和ServletContext对象配置初始化参数(域对象)

ServletConfig对象 :

主要是用于加载servlet的初始化参数。在一个web应用可以存在多个  
ServletConfig对象(一个Servlet对应一个ServletConfig对象)

servlet的初始化参数配置:

一定也要有<servlet-mapping> 不然无法得到servlet参数

      <servlet>
        <servlet-name>ServletConfigTest</servlet-name>
        <servlet-class>Hello.ServletConfig</servlet-class>

         <!-- 初始参数: 这些参数会在加载web应用的时候,  
         封装到ServletConfig对象中 -->
        <init-param>
            <param-name>name1</param-name>
            <param-value>value1</param-value>
        </init-param>
        <init-param>
            <param-name>CCCC</param-name>
            <param-value>CCCC's value</param-value>
        </init-param>
         <!-- 让servlet对象自动加载 -->
        <load-on-startup>1</load-on-startup>
    </servlet>
        <servlet-mapping>
            <servlet-name>ServletConfigTest</servlet-name>
            <url-pattern>/ServletConfig</url-pattern>
        </servlet-mapping>

注意:
this.getServletConfig()得到ServletConfig对象

ServletConfig的API:

java.lang.String getInitParameter(java.lang.String name)  根据参数名获取参数值
java.util.Enumeration getInitParameterNames()    获取所有参数
ServletContext getServletContext()     得到servlet上下文对象
java.lang.String getServletName()       得到servlet的名称

举例:

        System.out.println(this.getServletConfig().getInitParameter("name1"));//常用
        System.out.println(this.getServletConfig().getServletName());         //不常用

ServletContext对象:

Servlet的上下文对象。表示一个当前的web应用环境。  
一个web应用中只有一个ServletContext对象。

得到对象:
两种方式得到getServletContext:

1. ServletContext context = this.getServletContext();
2. ServletContext context =   
   this.getServletConfig().getServletContext();

web.xml:

<context-param>
        <param-name>AAA</param-name>
        <param-value>AAA's value</param-value>
    </context-param>
    <context-param>
        <param-name>BBB</param-name>
        <param-value>BBB's value</param-value>
    </context-param>
    <context-param>
        <param-name>CCC</param-name>
        <param-value>CCC's value</param-value>
    </context-param>

Servlet:

//得到SErvletContext对象
        ServletContext context = this.getServletContext();
        //ServletContext context = this.getServletConfig().getServletContext();

        System.out.println("参数"+context.getInitParameter("AAA"));

        Enumeration<String> enums = context.getInitParameterNames();
        while(enums.hasMoreElements()){
            String paramName = enums.nextElement();
            String paramValue  =context.getInitParameter(paramName);
            System.out.println(paramName+"="+paramValue);

猜你喜欢

转载自blog.csdn.net/qq_38409944/article/details/80743693