zoukankan      html  css  js  c++  java
  • ServletConfig对象

    在Servlet的配置文件中,可以使用一个或者多个<init-param>标签为servlet配置一些初始化参数。

    当servlet配置了初始化常熟后,web容器在常见servlet实例对象时,会自动将这些初始化参数封装到servletconfig对象中,并在调用servlet的init方法时,将servletconfig对象传递给servlet,进而,程序员通过servletconfig对象就可以得到当前servlet的初始化参数信息。

    阅读ServletConfig API,并举例说明该对象的作用:

    获得字符集编码

    获得数据库连接信息

    获得配置文件,查看structs案例的web.xml文件

     1 package cn.itcast.servlet;
     2 
     3 import java.io.IOException;
     4 import java.util.Enumeration;
     5 
     6 import javax.servlet.ServletConfig;
     7 import javax.servlet.ServletException;
     8 import javax.servlet.annotation.WebServlet;
     9 import javax.servlet.http.HttpServlet;
    10 import javax.servlet.http.HttpServletRequest;
    11 import javax.servlet.http.HttpServletResponse;
    12 
    13 
    14 public class ConfigServletDemo1 extends HttpServlet {
    15     private static final long serialVersionUID = 1L;
    16     private ServletConfig config;
    17     
    18     
    19 
    20     @Override
    21     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    22         //获取指定的初始化参数
    23         String value = config.getInitParameter("xxx");
    24         resp.getOutputStream().write(value.getBytes());
    25         
    26         //获取所有初始化参数
    27         Enumeration e = config.getInitParameterNames();
    28         while(e.hasMoreElements()){
    29             String name = (String) e.nextElement();
    30             value = config.getInitParameter(name);
    31             resp.getOutputStream().write((name + "=" + value + "<br />").getBytes());
    32         }
    33     }
    34     
    35     /**
    36      * 这个方法有什么用?
    37      * 1.配置初始化参数,配置字符集
    38      * <init-param>
    39           <param-name>charset</param-name>
    40           <param-value>utf-8</param-value>
    41       </init-param>
    42      * 2.配置数据库连接设置
    43      * <init-param>
    44      *     <param-name>url</param-name>
    45      *     <param-value>jdbc:mysql://localhost:3306/test</param-value>
    46      * </init-param>
    47      * <init-param>
    48      *     <param-name>username</param-name>
    49      *     <param-value>root</param-value>
    50      * </init-param>
    51      * <init-param>
    52      *     <param-name>password</param-name>
    53      *     <param-value>root</param-value>
    54      * </init-param>
    55      * 3.
    56      */
    57     
    58 
    59 
    60 
    61     @Override
    62     public void init(ServletConfig config) throws ServletException {
    63         this.config = config;
    64     }
    65        
    66     
    67 
    68 }

    下面的方法更简洁,在以后的开发过程中使用下面的方法

     1 package cn.itcast.servlet;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletConfig;
     6 import javax.servlet.ServletException;
     7 import javax.servlet.annotation.WebServlet;
     8 import javax.servlet.http.HttpServlet;
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 
    12 /**
    13  * Servlet implementation class ConfigServletDemo2
    14  */
    15 
    16 public class ConfigServletDemo2 extends HttpServlet {
    17     private static final long serialVersionUID = 1L;
    18        
    19     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    20         ServletConfig config = this.getServletConfig();
    21         String value = config.getInitParameter("xxx");
    22         response.getOutputStream().write(value.getBytes());
    23     }
    24 
    25     
    26     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    27         // TODO Auto-generated method stub
    28         doGet(request, response);
    29     }
    30 
    31 }
  • 相关阅读:
    全国哀悼日 灰色CSS滤镜 PENGHAO
    Jmail发信函数 PENGHAO
    XHTML 1.0 参考 PENGHAO
    今天搬家。。 PENGHAO
    JS代码Checkbox控制输入框 PENGHAO
    CSS hack:区分IE6,IE7,firefox PENGHAO
    获取表中新记录(下一条记录)的主键值的存储过程 PENGHAO
    五种提高 SQL 性能的方法 PENGHAO
    [收藏 ]针对IE网页浏览器不同版本解释的CSS或javascript PENGHAO
    小本创业者的致胜法宝! PENGHAO
  • 原文地址:https://www.cnblogs.com/LoganChen/p/6375055.html
Copyright © 2011-2022 走看看