一、ServletConfig概述
ServletConfig 代表当前Servlet在web.xml中的配置信息。
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init()方法时,将ServletConfig对象传递给servlet。进而,程序员通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
二、ServletConfig类的方法
①String getServletName() | 获取当前Servlet在web.xml中配置的名字
|
②String getInitParameter(String name) | 获取当前Servlet指定名称的初始化参数的值 |
③Enumeration getInitParameterNames() | 获取当前Servlet所有初始化参数的名字组成的枚举
|
④ServletContext getServletContext() | 获取代表当前web应用的ServletContext对象 |
三、ServletConfig使用实例
import java.io.IOException; import java.util.Enumeration;
import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class SConfigServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { ServletConfig config = this.getServletConfig();
//--获取当前Servlet 在web.xml中配置的名称 String sName = config.getServletName(); System.out.println(sName);
//--获取当前Servlet中配置的初始化参数 String value = config.getInitParameter("name1"); System.out.println(value);
Enumeration enumeration = config.getInitParameterNames(); while(enumeration.hasMoreElements()) { String name = (String) enumeration.nextElement(); String value = config.getInitParameter(name); System.out.println(name+":"+value); } //-------------------获取ServletContext对象------------------- //方式一 ServletContext context = config.getServletContext(); //方式二 this.getServletContext(); }
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { doGet(request, response); } }
|
对应的web.xml配置文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="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">
<servlet> <servlet-name>SConfigServlet</servlet-name> <servlet-class>SConfigServlet</servlet-class> <init-param> <param-name>name1</param-name> <param-value>value1</param-value> </init-param> <init-param> <param-name>encode</param-name> <param-value>utf-8</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>SConfigServlet</servlet-name> <url-pattern>/servlet/SConfigServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
|