1. 程式人生 > >01_5_SERVLET為什麽有2個init方法

01_5_SERVLET為什麽有2個init方法

blog init方法 pos enume 初始化 div 不為 clas exc

01_5_SERVLET為什麽有2init方法

1. web.xml配置初始化參數

<servlet>

<servlet-name>TestInitServlet</servlet-name>

<servlet-class>TestInitServlet</servlet-class>

<init-param>

<param-name>language</param-name>

<param-value>中文</param-value>

</init-param>

<init-param>

<param-name>work</param-name>

<param-value>Java開發工程師</param-value>

</init-param>

</servlet>

2. servlet中獲取遍歷獲取參數

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html; charset=utf-8");

PrintWriter out = response.getWriter();

System.out.println("English");

System.out.println("中文");

String servletName = null;

String language = null;

servletName = this.getServletConfig().getServletName();

language = this.getServletConfig().getInitParameter("language");

System.out.println(servletName);

out.print("<body>語言:Enlish<br/>語言:中文<br/>Servlet名稱:");

out.println(servletName);

//利用枚舉類循環取出初始化參數,並打印出來

Enumeration en = this.getServletConfig().getInitParameterNames();

for (; en.hasMoreElements();) {

String name = null, value = null;

//獲取初始化參數名

name = en.nextElement().toString();

//獲取參數名的內容

value = this.getServletConfig().getInitParameter(name);

//打印到後臺的內容

System.out.print("參數名為:");

System.out.print(name);

System.out.print(" 參數值為:");

System.out.print(value);

System.out.println();

//打印到頁面的內容

out.println("<br/>初始化參數名為:");

out.print(name);

out.println(" 初始化值為:");

out.println(value);

}

out.print("</body>");

out.close();

}

3. 測試

語言:Enlish
語言:中文
Servlet名稱:TestInitServlet
初始化參數名為: work 初始化值為: Java開發工程師
初始化參數名為: language 初始化值為:中文

4. 備註

為防止this.getServletConfig()獲取參數不為null,我們一般重寫init()方法,不會重寫init(ServletConifg config)方法

01_5_SERVLET為什麽有2個init方法