ServletConfig是配置对象,主要把servlet的初始化参数封装到这个对象中。一个网站中可能会存在多个ServletConfig对象,一个ServletConfig对象封装了一个servlet的配置信息。
本次介绍主要是举一个通过servlet打开一个文件的例子来说明用法。
此例子中主要是对文件的路径的修改,由于不能每次修改源文件,所以采用修改配置文件web.xml的方法来更改文件路径。
web.xml的配置方法如下:
<servlet>
<servlet-name>ServletConfigDemo</servlet-name>
<servlet-class>cm.zdh.servlet.ServletConfigDemo</servlet-class>
<!-- servlet的初始化参数 -->
<init-param>
<param-name>path</param-name>
<param-value>c:/bbb.txt</param-value>
</init-param>
</servlet>
解释:
<init-param> 初始化参数
<param-name>参数名
<param-value>参数值
Servlet的源代码如下:
public class ServletConfigDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset = utf-8");//防止乱码问题
String path = null;
path = this.getServletConfig().getInitParameter("path");
BufferedReader br = new BufferedReader(new FileReader(path));
String str = null;
while((str = br.readLine())!=null){
System.out.println(str);
}
response.getWriter().write("输出内容来源于:");
response.getWriter().write(path.toString());
}
}
代码解释:
this.getServletConfig();用于获取ServletConfig对象;
config.getInitParameter("name"); 根据参数名称获取参数值
config.getInitParameterNames(); 获取所有参数名称