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中开发)

下载此示例(在Netbeans IDE中开发)


微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?