01_5_SERVLET為什麽有2個init方法
01_5_SERVLET為什麽有2個init方法
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方法