ServletConfig接口详解
一个 Web 应用中可以存在多个 ServletConfig 对象,一个 Servlet 只能对应一个 ServletConfig 对象,即 Servlet 的初始化参数仅对当前 Servlet 有效。
获得 ServletConfig 对象
获得 ServletConfig 对象一般有 2 种方式:
1. 直接从带参的 init() 方法中提取
public class ServletConfigDemo extends HttpServlet {
private ServletConfig servletConfig;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取Servlet得名字
this.servletConfig.getServletName();
}
@Override
public void init(ServletConfig config) throws ServletException {
//从带参init方法中,提取ServletConfig对象
this.servletConfig = config;
}
}
2. 调用 GenericServlet 提供的 getServletConfig() 方法获得
//调用 GenericServlet 提供的 getServletConfig 方法获得 ServletConfig 对象
ServletConfig servletConfig = this.getServletConfig();
ServletConfig 接口
javax.servlet 包提供了一个 ServletConfig 接口,该接口中提供了以下方法。返回值类型 | 方法 | 功能描述 |
---|---|---|
String | getInitParameter(String name) | 根据初始化参数名 name,返回对应的初始化参数值。 |
Enumeration<String> | getInitParameterNames() | 返回 Servlet 所有的初始化参数名的枚举,如果该 Servlet 没有初始化参数,则返回一个空的。 |
ServletContext | getServletContext() | 返回一个代表当前 Web 应用的 ServletContext 对象。 |
String | getServletName() | 返回 Servlet 的名字,即 web.xml 中 <servlet-name> 元素的值。 |
配置 Servlet 初始化参数
配置 Servlet 的初始化参数有 2 种方式:
使用 web.xml 配置初始化参数;
使用 @WebServlet 配置初始化参数。
1.使用 web.xml 配置初始化参数
在 web.xml 中可以使用一个或多个 <init-param> 元素为 Servlet 配置初始化参数,代码如下。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3网站站点" rel="nofollow" />
package net.biancheng.www;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet(urlPatterns = {"/MyServlet"}, initParams = {@WebInitParam(name = "name", value = "编程帮"),
@WebInitParam(name = "URL", value = "www.biancheng网站站点" rel="nofollow" />
package net.biancheng.www;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author 编程帮 www.biancheng网站站点" rel="nofollow" />