ServletConfig的使用

ServletConfig的使用

作用:

A servlet configuration object used by a servlet container to pass information to a servlet during initialization.

一个给Web容器使用的配置对象,在Servlet初始化期间将信息传递给Servlet

Servlet接口中的方法:init(ServletConfig config)

含义

  • 封装Servlet在启动时候的一些配置信息
  • 读取web.xml中的init-param初始化的参数

为什么要配置初始化参数

降低耦合度,方便后期维护和修改

param>
    <param-name>nameparam-name>
    <param-value>Jackparam-value>
param>

常用的方法:

得到servlet中配置的初始参数

  • String getInitParameter(参数名)
    • 得到Servlet中配置的初始参数
  • Enumeration getInitParameterNames()
    • 得到所有的初始参数的名字,返回一个集合,枚举类。Enumeration类似于迭代器
java.util.Enumeration中的方法
  • boolean hasMoreElements()
    • 测试此枚举是否包含更多的元素。
  • E nextElement()
    • 如果此枚举对象至少还有一个可提供的元素,则返回此枚举的下一个元素。

案例演示

需求:在当前的Servlet中创建一个init的参数,name=Jack, age=18,读取配置文件中的多个参数,读取出来,显示到浏览器上

<servlet>
    <servlet-name>ConfigServletservlet-name>
    <servlet-class>com.itheima.servlet.ConfigServletservlet-class>
    
    <init-param>
        <param-name>userparam-name>
        <param-value>Roseparam-value>
    init-param>
    <init-param>
        <param-name>ageparam-name>
        <param-value>18param-value>
    init-param>
  servlet>

Servlet:


/**
 * 得到初始的参数值
 * @author NewBoy
 *
 */
public class ConfigServlet extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        //得到初始的参数值
        /*
        //1. 得到ServletConfig对象,这个方法是Servlet接口中定义
        ServletConfig config = getServletConfig();
        //2. 调用config中方法
        String user = config.getInitParameter("user");
        String age = config.getInitParameter("age");
        */
        //直接调用方法,因为我们的Servlet也实现了ServletConfig接口,所以可以直接使用这个方法
        String user = getInitParameter("user");
        String age = getInitParameter("age");
        out.print("初始参数user : " + user + "
"
); out.print("初始参数age: " + age + "
"
); //得到所有的初始参数名字 Enumeration names = getInitParameterNames(); while(names.hasMoreElements()) { String name = names.nextElement(); //得到名字 String value = getInitParameter(name); //得到值 out.print("名字:" + name + ", 值:" + value + "
"
); } out.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

上面的输出结果

ServletConfig的使用_第1张图片

你可能感兴趣的:(JavaWeb)