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獲取。