servlet中的ServletConfig物件
阿新 • • 發佈:2022-03-29
ServletConfig物件對應web.xml檔案中的<servlet>節點。當Tomcat初始化一個Servlet時,會建立ServletConfig物件,並將該Servlet的配置資訊封裝到一個ServletConfig物件中,可通過該物件讀取<servlet>節點中的配置資訊
<servlet> <servlet-name>servletName</servlet-name> <servlet-class>servletClass</servletclass> <init-param> <param-name>key</param-name> <param-value>value</param-value> </init-param> </servlet>
- servletConfig.getInitParameter("key")
可以讀取web.xml檔案中標籤中標籤中的配置資訊。
- servletConfig.getInitParameterNames()
可以讀取web.xml檔案中當前標籤中所有標籤中的值。
<servlet> <servlet-name>getCongig</servlet-name> <servlet-class>www.servlet.GetConfig</servlet-class> <init-param> <param-name>key1</param-name> <param-value>value1</param-value> </init-param> <init-param> <param-name>key2</param-name> <param-value>value2</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>getCongig</servlet-name> <url-pattern>/getconfig.do</url-pattern> </servlet-mapping>
import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; public class GetConfig extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { this.doPost(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //設定響應編碼 resp.setContentType("text/html;charset=utf-8"); //獲取響應輸出流 PrintWriter pw=resp.getWriter(); //獲取ServletConfig物件,當Tomcat初始化Servlet時,ServletConfig物件被建立 ServletConfig servletConfig=this.getServletConfig(); //獲取所有init-param的name Enumeration en=servletConfig.getInitParameterNames(); //遍歷所有name,取出相應都value //只能讀取當前servlet的值 while (en.hasMoreElements()){ //取name String name=(String) en.nextElement(); //取value String value=servletConfig.getInitParameter(name); //響應給客戶端 pw.println("name:"+name+" value:"+value); } //重新整理流 pw.flush(); //關閉流 pw.close(); } }