config对象


1、什么是config对象?

(1) config对象:用于获取初始化参数。

 

具体来说:如果在web.xml文件中,针对某个Servlet文件或JSP文件设置了初始化参数,则可以通过config对象来获取这些初始化参数。

 

(2) config对象的基类是:javax.servlet.ServletConfig接口

 

(3) config对象的常用方法,如下所示:

 

方法名

描述

String getInitParameter(String name)

根据指定的初始化参数名称,获取对应的参数值。

Enumeration getInitParameterNames()

获取所有的初始化参数名称。

ServletContext getServletContext()

返回一个ServletContext接口的对象

String getServletName()

获取当前Servlet对象的名称。

 

2、使用config对象获取初始化参数

(1) 获取某个JSP文件的初始化参数

 

测试代码

TestConfig01.jsp

 

<%@page contentType="text/html;charset=GB2312"%>

<html>

    <body>

        <p>客户服务信箱:<%=config.getInitParameter("email")%>

       

        <p>客户服务热线:<%=config.getInitParameter("phone")%>

       

        <p>客户服务QQ号:<%=config.getInitParameter("qq")%>

    </body>

</html>

 

 

修改web.xml文件,添加如下蓝色字体部分:

 

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

   

    <display-name>当当网</display-name>

   

    <servlet>

        <servlet-name>Login</servlet-name>

        <servlet-class>com.niit.csmz.Login</servlet-class>

    </servlet>

    <servlet>

        <servlet-name>Result</servlet-name>

        <servlet-class>com.niit.csmz.Result</servlet-class>

    </servlet>

   

    <servlet>

       <servlet-name>admin</servlet-name>

       <jsp-file>/TestConfig01.jsp</jsp-file>

       <init-param>

               <param-name>email</param-name>

               <param-value>service@abc.com</param-value>

       </init-param>

       <init-param>

               <param-name>phone</param-name>

               <param-value>0411-12345678</param-value>

       </init-param>

       <init-param>

               <param-name>qq</param-name>

               <param-value>88888</param-value>

       </init-param>

    </servlet>

    <servlet-mapping>

        <servlet-name>Login</servlet-name>

        <url-pattern>/Forward/servlet/Login</url-pattern>

    </servlet-mapping>

   

    <servlet-mapping>

        <servlet-name>Result</servlet-name>

        <url-pattern>/servlet/Result</url-pattern>

    </servlet-mapping>

   

    <servlet-mapping>

       <servlet-name>admin</servlet-name>

       <url-pattern>/TestConfig01.jsp</url-pattern>

    </servlet-mapping>

 

    <context-param>    

        <param-name>appName</param-name>

        <param-value>MyWebTest</param-value>

    </context-param>

    <context-param>

        <param-name>appVersion</param-name>

        <param-value>Version 1.0</param-value>

   </context-param>

 

    <welcome-file-list>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

</web-app>

 

(2) 获取某个Servlet文件的初始化参数

 

测试代码

创建一个名为Config的Servlet文件,代码如下所示:

 

package com.niit.csmz;

 

import java.io.IOException;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

import javax.servlet.ServletConfig;

import java.io.PrintWriter;

 

publicclass Config extends HttpServlet {

 

    privatestatic finallong serialVersionUID =-623285226021156806L;

 

    public Config() {

        super();

    }

 

    publicvoid init() throws ServletException {

        super.init();

    }

 

    publicvoid destroy() {

        super.destroy();

    }

 

    publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException,IOException {

        doPost(request, response);

    }

 

    publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException,IOException {

       

        ServletConfig sc = this.getServletConfig();

       

        String email = sc.getInitParameter("email");

        String phone = sc.getInitParameter("phone");

        String qq = sc.getInitParameter("qq");

       

        response.setContentType("text/html;charset=gb2312");

       

        PrintWriter pw = response.getWriter();

       

        pw.write("<p>客户服务信箱:" + email);

        pw.write("<p>客户服务热线:" + phone);

        pw.write("<p>客户服务QQ号:" + qq);

    }

}

 

修改web.xml文件,添加如下蓝色字体部分:

 

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="2.5"

    xmlns="http://java.sun.com/xml/ns/javaee"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

   

    <display-name>当当网</display-name>

   

    <servlet>

        <servlet-name>Login</servlet-name>

        <servlet-class>com.niit.csmz.Login</servlet-class>

    </servlet>

   

    <servlet>

        <servlet-name>Result</servlet-name>

        <servlet-class>com.niit.csmz.Result</servlet-class>

    </servlet>

   

    <servlet>

        <servlet-name>admin</servlet-name>

        <jsp-file>/TestConfig01.jsp</jsp-file>

        <init-param>

            <param-name>email</param-name>

            <param-value>service@abc.com</param-value>

        </init-param>

        <init-param>

            <param-name>phone</param-name>

            <param-value>0411-12345678</param-value>

        </init-param>

        <init-param>

            <param-name>qq</param-name>

            <param-value>88888</param-value>

        </init-param>

    </servlet>

   

    <servlet>

       <servlet-name>Config</servlet-name>

       <servlet-class>com.niit.csmz.Config</servlet-class>

      <init-param>

               <param-name>email</param-name>

               <param-value>service@abc.com</param-value>

       </init-param>

       <init-param>

               <param-name>phone</param-name>

               <param-value>0411-12345678</param-value>

       </init-param>

       <init-param>

               <param-name>qq</param-name>

               <param-value>88888</param-value>

       </init-param>

    </servlet>

 

 

    <servlet-mapping>

        <servlet-name>Login</servlet-name>

        <url-pattern>/Forward/servlet/Login</url-pattern>

    </servlet-mapping>

   

    <servlet-mapping>

        <servlet-name>Result</servlet-name>

        <url-pattern>/servlet/Result</url-pattern>

    </servlet-mapping>

   

    <servlet-mapping>

        <servlet-name>admin</servlet-name>

        <url-pattern>/TestConfig01.jsp</url-pattern>

    </servlet-mapping>

   

    <servlet-mapping>

       <servlet-name>Config</servlet-name>

       <url-pattern>/servlet/Config</url-pattern>

    </servlet-mapping>

 

    <context-param>    

        <param-name>appName</param-name>

        <param-value>MyWebTest</param-value>

    </context-param>

    <context-param>

        <param-name>appVersion</param-name>

        <param-value>Version 1.0</param-value>

    </context-param>

 

    <welcome-file-list>

        <welcome-file>index.jsp</welcome-file>

    </welcome-file-list>

</web-app>

 

3application对象和config对象的区别

   

(1) 使用application对象只能获取<context-param>设定的初始化参数,因为application对象处理的是整个Web应用程序的环境信息。

(2) 使用config对象只能获取<init-param>设定的初始化参数,因为config对象处理的是单个Servlet文件或JSP文件。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值