ServletConfig对象对应web.xml文件中的节点。当Tomcat初始化一个Servlet时,会将该Servlet的配置信息,封装到一个ServletConfig对象中。我们可以通过该对象读取节点中的配置信息
    servletConfig.getInitParameter(“key”)
    该方法可以读取web.xml文件中标签中标签中的配置信息。
    servletConfig.getInitParameterNames()
    该方法可以读取web.xml文件中当前标签中所有标签中的值。

    1. <servlet>
    2. <servlet-name>getConfigServlet</servlet-name>
    3. <servlet-class>com.itbaizhan.GetConfigServlet</servlet-class>
    4. <init-param>
    5. <param-name>key1</param-name>
    6. <param-value>renlong</param-value>
    7. </init-param>
    8. <init-param>
    9. <param-name>key2</param-name>
    10. <param-value>jiangyan</param-value>
    11. </init-param>
    12. </servlet>
    13. <servlet-mapping>
    14. <servlet-name>getConfigServlet</servlet-name>
    15. <url-pattern>/getconfig.do</url-pattern>
    16. </servlet-mapping>
    1. import javax.servlet.ServletConfig;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. import java.io.PrintWriter;
    8. import java.util.Enumeration;
    9. /**
    10. * 使用ServletConfig读取Servlet配置信息
    11. */
    12. public class GetConfigServlet extends HttpServlet {
    13. @Override
    14. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    15. this.doPost(req, resp);
    16. }
    17. @Override
    18. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    19. //获取ServletConfig对象
    20. ServletConfig servletConfig =this.getServletConfig();
    21. //获取配置信息
    22. Enumeration<String> initParameterNames = servletConfig.getInitParameterNames();
    23. PrintWriter printWriter = resp.getWriter();
    24. while (initParameterNames.hasMoreElements()){
    25. String name =initParameterNames.nextElement();
    26. String value = servletConfig.getInitParameter(name);
    27. printWriter.println(name+value);
    28. }
    29. printWriter.flush();
    30. printWriter.close();
    31. }
    32. }

    image.png