讲给Android程序员看的前端系列教程(40集免费视频教程+源码)
版权声明
- 本文原创作者:谷哥的小弟
- 作者博客地址:http://blog.csdn.net/lfdfhl
ServletConfig接口概述
在Servlet运行期间,经常需要一些辅助信息。例如:文件使用的编码方式等。为此,我们可在Servlet的配置文件web.xml中可使用init-param标签为Servlet配置初始化参数。当Servlet配置了初始化参数后Servlet引擎在创建Servlet实例对象时会自动将这些初始化参数封装到ServletConfig对象中并在调用servlet的init( )方法时将ServletConfig对象传递给Servlet。所以,可通过ServletConfig对象得到当前web.xml中设置的初始化参数信息。
ServletConfig接口常用方法
在此,列举ServletConfig接口常用方法及其作用。
public String getServletName( )
该方法返回Servlet的名字,即web.xml中servlet-name元素的值。
public ServletContext getServletContext( )
该方法返回代表当前Web应用的ServIetContext对象
public Enumeration< String > getInitParameterNames( )
该方法返回一个Enumeration对象,该对象包含所有的初始化参数名
public String getInitParameter(String name)
该方法根据初始化参数名返回对应的初始化参数值
ServletConfig接口常用方法使用示例
index.html如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Servlet</title>
</head>
<body>
<h1>本文作者:谷哥的小弟</h1>
<h1>博客地址:http://blog.csdn.net/lfdfhl</h1>
</body>
</html>
结果如下:
web.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>ServletConfig</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servletTest</servlet-name>
<servlet-class>cn.com.ServletTest</servlet-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>size</param-name>
<param-value>200</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>servletTest</servlet-name>
<url-pattern>/servletTest</url-pattern>
</servlet-mapping>
</web-app>
在该配置文件里,我们在servlet标签中利用其子标签init-param配置了两对参数的键及其对应的值。
ServletTest代码如下:
package cn.com;
import java.io.IOException;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 本文作者:谷哥的小弟
* 博客地址:http://blog.csdn.net/lfdfhl
*/
public class ServletTest extends HttpServlet {
private static final long serialVersionUID = 2093654920413543438L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取ServletConfig
ServletConfig servletConfig = this.getServletConfig();
//获取Servlet的名称
String servletName = servletConfig.getServletName();
System.out.println("servletName="+servletName);
//获取所有的初始化参数名
Enumeration<String> parameterNames = servletConfig.getInitParameterNames();
while(parameterNames.hasMoreElements()) {
String parameterName = parameterNames.nextElement();
//获取参数对应的值
String parameterValue = servletConfig.getInitParameter(parameterName);
System.out.println(parameterName+"="+parameterValue);
}
//获取ServletContext
ServletContext servletContext = servletConfig.getServletContext();
System.out.println(servletContext);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
运行结果:
转载:https://blog.csdn.net/lfdfhl/article/details/101394741