servlet中的ServletConfig对象

  ServletConfig对象对应web.xml文件中的<servlet>节点。当Tomcat初始化一个Servlet时,会创建ServletConfig对象,并将该Servlet的配置信息封装到一个ServletConfig对象中,可通过该对象读取<servlet>节点中的配置信息

<servlet>
    <servlet-name>servletName</servlet-name>
    <servlet-class>servletClass</servletclass>
    <init-param>
        <param-name>key</param-name>
        <param-value>value</param-value>
    </init-param>
</servlet>
  • servletConfig.getInitParameter("key")

    可以读取web.xml文件中标签中标签中的配置信息。

  • servletConfig.getInitParameterNames()

        可以读取web.xml文件中当前标签中所有标签中的值。

 

 

    <servlet>
        <servlet-name>getCongig</servlet-name>
        <servlet-class>www.servlet.GetConfig</servlet-class>

        <init-param>
            <param-name>key1</param-name>
            <param-value>value1</param-value>
        </init-param>

        <init-param>
            <param-name>key2</param-name>
            <param-value>value2</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>getCongig</servlet-name>
        <url-pattern>/getconfig.do</url-pattern>
    </servlet-mapping>

 

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

public class GetConfig extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置响应编码
        resp.setContentType("text/html;charset=utf-8");
        //获取响应输出流
        PrintWriter pw=resp.getWriter();

        //获取ServletConfig对象,当Tomcat初始化Servlet时,ServletConfig对象被创建
        ServletConfig servletConfig=this.getServletConfig();
        //获取所有init-param的name
        Enumeration en=servletConfig.getInitParameterNames();
        //遍历所有name,取出相应都value
        //只能读取当前servlet的值
        while (en.hasMoreElements()){
            //取name
            String  name=(String) en.nextElement();
            //取value
            String value=servletConfig.getInitParameter(name);
            //响应给客户端
            pw.println("name:"+name+" value:"+value);
        }
        //刷新流
        pw.flush();
        //关闭流
        pw.close();
    }
}

 

 

 

 

posted @ 2022-03-29 16:20  chaplu  阅读(89)  评论(0)    收藏  举报