小言_互联网的博客

JavaWeb核心技术系列教程(07)——ServletConfig

255人阅读  评论(0)

C语言自学完备手册(33篇)

Android多分辨率适配框架

JavaWeb核心技术系列教程

HTML5前端开发实战系列教程

MySQL数据库实操教程(35篇图文版)

推翻自己和过往——自定义View系列教程(10篇)

走出思维困境,踏上精进之路——Android开发进阶精华录

讲给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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场