ServletConfig对象对应web.xml文件中的节点。当Tomcat初始化一个Servlet时,会将该Servlet的配置信息,封装到一个ServletConfig对象中。我们可以通过该对象读取节点中的配置信息
servletConfig.getInitParameter(“key”)
该方法可以读取web.xml文件中标签中标签中的配置信息。
servletConfig.getInitParameterNames()
该方法可以读取web.xml文件中当前标签中所有标签中的值。
<servlet>
<servlet-name>getConfigServlet</servlet-name>
<servlet-class>com.itbaizhan.GetConfigServlet</servlet-class>
<init-param>
<param-name>key1</param-name>
<param-value>renlong</param-value>
</init-param>
<init-param>
<param-name>key2</param-name>
<param-value>jiangyan</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>getConfigServlet</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;
/**
* 使用ServletConfig读取Servlet配置信息
*/
public class GetConfigServlet 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 {
//获取ServletConfig对象
ServletConfig servletConfig =this.getServletConfig();
//获取配置信息
Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
PrintWriter printWriter = resp.getWriter();
while (initParameterNames.hasMoreElements()){
String name =initParameterNames.nextElement();
String value = servletConfig.getInitParameter(name);
printWriter.println(name+value);
}
printWriter.flush();
printWriter.close();
}
}