ServletConfig和ServletContext接口及其使用方法详解(附带实例)

  • 内容
  • 评论
  • 相关

这一节我们学习 ServletConfig 和 ServletContext 两个接口。下面我们先介绍 ServletConfig 接口。

ServletConfig接口

在运行 Servlet 程序时,可能需要一些辅助信息,例如,文件使用的编码、使用 Servlet 程序的共享信息等,这些信息可以在 web.xml 文件中使用一个或多个 <init-param> 元素进行配置。当 Tomcat 初始化一个 Servlet 时,会将该 Servlet 的配置信息封装到 ServletConfig 对象中,此时可以通过调用 init(ServletConfig config)方法将 ServletConfig 对象传递给 Servlet。

ServletConfig 接口中定义了一系列获取配置信息的方法,如表 1 所示。

表 1 ServletConfig接口的常用方法
方法说明 功能描述
String getInitParameter(String name) 根据初始化参数名返回对应的初始化参数值
Enumeration getInitParameterNames() 返回一个 Enumeration 对象,其中包含了所有的初始化参数名
ServletContext getServletContext() 返回一个代表当前 Web 应用的 ServletContext 对象
String getServletName() 返回 Servlet 的名字,即 web.xml 中 <servlet-name>元素的值

下面以 getInitParameter() 方法为例,分步骤讲解该方法的使用。

1)创建Servlet

在 com.mengma.servlet 包中创建一个名称为 TestServlet02 的 Servlet 类,并在类中编写用于读取 web.xml 文件中参数信息的代码,如下所示。

package com.mengma.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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 TestServlet02 extends HttpServlet {

    protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        ServletConfig config = this.getServletConfig();
        String param = config.getInitParameter("encoding");
        out.println("encoding=" + param);
    }

    protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }

}

2)配置参数信息

在 web.xml 文件中为 Servlet 配置一些参数信息,具体的配置代码如下所示:

<servlet>
  <servlet-name>TestServlet02</servlet-name>
  <servlet-class>com.mengma.servlet.TestServlet02</servlet-class>
  <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
  </init-param>
</servlet>
<servlet-mapping>
  <servlet-name>TestServlet02</servlet-name>
  <url-pattern>/TestServlet02</url-pattern>
</servlet-mapping>

在上面的参数信息中,<init-param> 节点表示要设置的参数,该节点中的 <param-name> 表示参数的名称,<param-value> 表示参数的值,在 <init-param> 节点中为 TestServlet02 配置了一个名为 encoding 的参数,并设置其参数的值为 UTF-8。

3)运行项目并查看结果

启动 Tomcat 服务器,在浏览器的地址栏中输入地址 http://localhost:8080/servletDemo01/TestServlet02 访问 TestServlet02,结果如图 1 所示。

运行结果
图 1  运行结果

本文标题:ServletConfig和ServletContext接口及其使用方法详解(附带实例)

本文地址:https://www.hosteonscn.com/5701.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注