如何读取servlet的配置文件 每个servlet在web.xml都有自己的配置文件,用的比较多的就是<init-param></init-param>中的<param-name></param-name>和<param-value></param-value>这两个参数,如何读取呢?
答案在ServletConfig这个类中。在一个Servlet中使用this.getServletConfig()方法可以得到一个ServletConfig类的对象,进而通过这个对象的getServletName()方法获得Servlet的名称,getServletnames()方法获得一个Enumeration对象,这个对象含有这个Servlet配置文件中所有<param-name>的值,并通过这些name用getInitParameter()方法获得相应的<param-value>的值。
下面是一段实例代码,在使用这段代码前,需要确保在web.xml中有相应的param-name与param-vlaue值
- package org.jubin;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class TestInitServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- public TestInitServlet() {
- super();
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.setContentType(“text/html;charset=utf-8″);
- PrintWriter out = response.getWriter();
- out.println(this.getServletConfig().getServletName());
- String s =(String) this.getServletConfig().getInitParameter(“name2″);
- out.println(s);
- java.util.Enumeration params = this.getServletConfig().getInitParameterNames();
- while(params.hasMoreElements()){
- String name = params.nextElement().toString();
- out.println(“ ” + name);
- String value = (String)this.getServletConfig().getInitParameter(name);
- out.println(“ ” + value);
- }
- out.close();
- }
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- this.doGet(request, response);
- }
- }