ServletConfig的作用
用于加载Servlet的初始化参数,在一个web应用可以存在多个ServletConfig对象,一个Servlet对应一个ServletConfig对象。
ServletConfig创建时机及如何得到
创建时机:在创建完Servlet对象之后,调用init方法之前创建。
得到对象:直接从有参数的init方法中得到。
Servlet的初始化参数配置
<servlet> <servlet-name>ConfigServlet</servlet-name> <servlet-class>ysdrzp.config.ConfigServlet</servlet-class> <init-param> <param-name>aaa</param-name> <param-value>value of aaa</param-value> </init-param> <init-param> <param-name>bbb</param-name> <param-value>value of bbb</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ConfigServlet</servlet-name> <url-pattern>/configServlet</url-pattern> </servlet-mapping>
public class ConfigServlet extends HttpServlet { /** * 以下两段代码GenericServlet已经写了,我们无需编写. */ //private ServletConfig config; /** * 1)tomcat服务器把那些初始化参数在加载web应用的时候,封装到ServletConfig对象中 * 2)tomcat服务器调用init方法传入ServletConfig对象 */ /*@Override public void init(ServletConfig config) throws ServletException { this.config = config; }*/ @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //查询当前servlet的所有初始化参数 Enumeration<String> enums = this.getServletConfig().getInitParameterNames(); while(enums.hasMoreElements()){ String paramName = enums.nextElement(); String paramValue = this.getServletConfig().getInitParameter(paramName); System.out.println(paramName+"="+paramValue); } //得到servlet的名称 String servletName = this.getServletConfig().getServletName(); System.out.println(servletName); } }
注意: Servlet的初始化参数只能由当前的这个Sevlet获取。