servletConfig获取初始化参数

servletConfig获取初始化参数

一、init方法初始化过程

二、init初始化获取参数

1、init初始化方法获取参数是由tomcat容器先创建ServletConfig对象,然后将这个对象作为参数传递给init方法,使得init初始化方法可以获取到参数。想了解init初始化方法可以获取哪些方法,首先了解ServletConfig对象可以给他传递哪些参数。

2、ServletConfig作用:

A、获取自己叫什么名字:servletConfig.getServletName();

B、获取在web.xml中配置的其他初始化信息。可以通过两个方法获取到参数:Servletconfig.getInitParameter() 和 Servletconfig.getinitParameterName()


三、init初始化获取参数展示

1、创建servlet类获取初始化参数

package test05;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Enumeration;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class InitServlet implements Servlet{
	private ServletConfig conf;
	/*
	 * 1、在init方法中获取参数 
	 */
	@Override
	public void init(ServletConfig config) throws ServletException {
		this.conf = config;
	/*
	 * 2、获取自己的名字	
	 */
		String name = config.getServletName();
		System.out.println("############这个servlet类的名字:"+name);
		
	/*
	 * 3、第一种方法获取自定义初始化参数
	*/
		System.out.println("###############第一种方法config.getInitParameter()获取自定义初始化参数################");
		/*config.getInitParameter("java_name")参数名字来自于和web.xml配置文件中的
		配置的名字<param-name>java_name</param-name>根据这个名字可以获取到web.xml文件中
		对应这个名字配置的value值
		*/
		String java_name = config.getInitParameter("java_name");
		String host = config.getInitParameter("host");
		System.out.print("java_name的value值为:"+java_name+"\n"+"host的value值为:"+host);
	/*
	 * 4、第二种方法获取自定义初始化参数
	 */	
		
		System.out.println("##############第二种方法config.getInitParameterName()获取自定义初始化参数##############");
		Enumeration<String> it = config.getInitParameterNames();
		while(it.hasMoreElements()){
			String key = it.nextElement();
			System.out.println(key+"===="+config.getInitParameter(key));
		}
	}

	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	/*
	 * 5、调用getServletInfo()获取servlet名字并输出到浏览器页面
	 */
	public void service(ServletRequest req, ServletResponse res)
			throws ServletException, IOException {
		//对于servlet来说,默认是iso-8859-1编码。必须要通知浏览器,用什么编码来显示
		res.setContentType("text/html;charset=UTF-8");
		//使用PrintWriter类方法将信息输出到浏览器的页面中。
		PrintWriter out = res.getWriter();
		out.print("这个servlet叫:"+getServletInfo()+"<br/>");
		
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return conf.getServletName();
	}

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		
	}

}

2、配置web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	
	
	<servlet>
		<!-- 配置InitServlet -->
		<servlet-name>InitServlet</servlet-name>
		<servlet-class>test05.InitServlet</servlet-class>
		<!-- 配置其他的初始化信息,可以配置任意个数量 -->
		<init-param>
			<!-- 参数的名字按照变量命名规范可以自定义名字-->
			<param-name>java_name</param-name>
			<param-value>java从入门到精通</param-value>
		</init-param>
		<init-param>
			<param-name>host</param-name>
			<param-value>java博客从坚持开始</param-value>
		</init-param>
		<!-- 配置初始化方式为tomcat容器启动后自动初始化该servlet类 -->
		<load-on-startup>1</load-on-startup>
		
	</servlet>
	
	
	<!-- 配置访问这个servlet -->
	<servlet-mapping>
		<servlet-name>InitServlet</servlet-name>
		<url-pattern>/init</url-pattern>
	</servlet-mapping>
</web-app>

3、访问这个类

打开浏览器输入:http://127.0.0.1:8080/你的项目名称/init

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值