ServletConfig接口介绍和用法

  1. ServletConfig接口
  2. ServletConfig接口的方法
  3. 如何获取ServletConfig的对象
  4. 为Servlet提供初始化参数的语法
  5. 获取初始化参数的ServletConfig示例
  6. 获取所有初始化参数的ServletConfig示例
Web容器为每个Servlet创建一个ServletConfig对象。该对象可用于从web.xml文件获取配置信息。
如果从web.xml文件修改了配置信息, 则无需更改servlet。因此, 如果不时修改任何特定内容, 则更易于管理Web应用程序。
ServletConfig的优势
ServletConfig的核心优点是, 如果从web.xml文件中修改了信息, 则无需编辑servlet文件。
ServletConfig接口的方法
  1. public String getInitParameter(String name):返回指定参数名称的参数值。
  2. public Enumeration getInitParameterNames():返回所有初始化参数名称的枚举。
  3. public String getServletName():返回Servlet的名称。
  4. public ServletContext getServletContext():返回ServletContext的对象。
如何获取ServletConfig的对象
  1. Servlet接口的getServletConfig()方法返回ServletConfig的对象。
getServletConfig()方法的语法
public ServletConfig getServletConfig();

getServletConfig()方法的示例
ServletConfig config=getServletConfig(); //Now we can call the methods of ServletConfig interface

为Servlet提供初始化参数的语法
servlet的init-param子元素用于指定servlet的初始化参数。
< web-app> < servlet> ......< init-param> < param-name> parametername< /param-name> < param-value> parametervalue< /param-value> < /init-param> ...... < /servlet> < /web-app>

获取初始化参数的ServletConfig示例
在此示例中, 我们从web.xml文件中获得一个初始化参数, 并将此信息打印在servlet中。
DemoServlet.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DemoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); ServletConfig config=getServletConfig(); String driver=config.getInitParameter("driver"); out.print("Driver is: "+driver); out.close(); }}

web.xml
< web-app> < servlet> < servlet-name> DemoServlet< /servlet-name> < servlet-class> DemoServlet< /servlet-class> < init-param> < param-name> driver< /param-name> < param-value> sun.jdbc.odbc.JdbcOdbcDriver< /param-value> < /init-param> < /servlet> < servlet-mapping> < servlet-name> DemoServlet< /servlet-name> < url-pattern> /servlet1< /url-pattern> < /servlet-mapping> < /web-app>

下载此示例(在Myeclipse IDE中开发)
下载此示例(在Eclipse IDE中开发)
下载此示例(在Netbeans IDE中开发)
获取所有初始化参数的ServletConfig示例
在此示例中, 我们从web.xml文件中获取所有初始化参数, 并将此信息打印在servlet中。
DemoServlet.java
import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; 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 DemoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); ServletConfig config=getServletConfig(); Enumeration< String> e=config.getInitParameterNames(); String str=""; while(e.hasMoreElements()){ str=e.nextElement(); out.print("< br> Name: "+str); out.print(" value: "+config.getInitParameter(str)); } out.close(); }}

web.xml
< web-app> < servlet> < servlet-name> DemoServlet< /servlet-name> < servlet-class> DemoServlet< /servlet-class> < init-param> < param-name> username< /param-name> < param-value> system< /param-value> < /init-param> < init-param> < param-name> password< /param-name> < param-value> oracle< /param-value> < /init-param> < /servlet> < servlet-mapping> < servlet-name> DemoServlet< /servlet-name> < url-pattern> /servlet1< /url-pattern> < /servlet-mapping> < /web-app>

下载此示例(在Myeclipse IDE中开发)
下载此示例(在Eclipse IDE中开发)
【ServletConfig接口介绍和用法】下载此示例(在Netbeans IDE中开发)

    推荐阅读