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