1.1、配置Servlet初始化参数
在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。
例如:
12 ServletConfigDemo1 3gacl.servlet.study.ServletConfigDemo1 4 56 9name 7gacl 810 13password 11123 1214 17charset 15UTF-8 16
1.2、通过ServletConfig获取Servlet的初始化参数
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,我们通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
例如:
1 package gacl.servlet.study; 2 3 import java.io.IOException; 4 import java.util.Enumeration; 5 import javax.servlet.ServletConfig; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse;10 11 public class ServletConfigDemo1 extends HttpServlet {12 13 /**14 * 定义ServletConfig对象来接收配置的初始化参数15 */16 private ServletConfig config;17 18 /**19 * 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,20 * 会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,21 * 将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以22 * 得到当前servlet的初始化参数信息。23 */24 @Override25 public void init(ServletConfig config) throws ServletException {26 this.config = config;27 }28 29 public void doGet(HttpServletRequest request, HttpServletResponse response)30 throws ServletException, IOException {31 //获取在web.xml中配置的初始化参数32 String paramVal = this.config.getInitParameter("name");//获取指定的初始化参数33 response.getWriter().print(paramVal);34 35 response.getWriter().print("
");36 //获取所有的初始化参数37 Enumeratione = config.getInitParameterNames();38 while(e.hasMoreElements()){39 String name = e.nextElement();40 String value = config.getInitParameter(name);41 response.getWriter().print(name + "=" + value + " ");42 }43 }44 45 public void doPost(HttpServletRequest request, HttpServletResponse response)46 throws ServletException, IOException {47 this.doGet(request, response);48 }49 50 }
运行结果如下: