servlet-ServletConfig接口2

ServletConfig接口中一共就四个常用的方法

  1. String getInitParameter(String name)
  2. Enumeration getInitParameterNames()
  3. ServletContext getServletContext()
  4. String getServletName()

先看第一个 String getInitParameter(String name)
这个一看就能看出来,这个是写name返回value的类型吧

<?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_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<servlet>
		<servlet-name>a</servlet-name>
		<servlet-calss>com.javaweb.servlet.Aservlet</servlet-class>
		<init-param>dirver</init-param>
		<init-value>com.mysql.jdbc.Driver</init-value>
		
		<init-param>url</init-param>
		<init-value>jdbc:mysql://localhost:3306/oa</init-value>
		
		<init-param>user</init-param>
		<init-value>root</init-value>
		
		<init-param>password</init-param>
		<init-value>123</init-value>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>a</servlet-name>
		<url-pattern>/a</url-pattern>
	</servlet-mapping>
	
</web-app>

第一个常用的方法:String getInitParameter(String name)
通过初始化参数name获取value

public class ASerclet implements Servlet{
private ServletConfig config;
	@Override
	public void init(ServletConfig config)throws ServletException{
		System.out.println("AServlet's ServletConfig ="+config.toString())
		this.config = config;
	}
	@Override
	public void service(ServletResquest request,ServletResponse response)throws ServletException, IOException{
	//获取servletConfig
	ServletConfig config  = getServletConfig();
	//通过初始化参数的name获取value
	String driver = config.getInitParameter("driver");
	String url= config.getInitParameter("url");
	String user= config.getInitParameter("user");
	String password= config.getInitParameter("password");

	//我们也可以把这些东西打印到浏览器中
	response.setContentType("text/html;charset = UTF-8");
	PrintWriter out = response.getWriter();
	out.print(driver);
	out.print("<br>");
	out.print(url);
	out.print("<br>");
	out.print(user);
	out.print("<br>");
	out.print(password);
	}
	
	@Override
	public void destory(){
	}
	@Override
	public ServletConfig getServletConfig(){
		return config;
	}
	@Override
	public String getServletInfo(){
		return null;	
	}
}

第二个常用的方法:Enumeration getInitParameterNames()
获取所有初始化参数的name

public class ASerclet implements Servlet{
private ServletConfig config;
	@Override
	public void init(ServletConfig config)throws ServletException{
		System.out.println("AServlet's ServletConfig ="+config.toString())
		this.config = config;
	}
	@Override
	public void service(ServletResquest request,ServletResponse response)throws ServletException, IOException{
	response.setContentType("text/html;charset = UTF-8");
	PrintWriter out = response.getWriter();
	//获取servletConfig
	ServletConfig config  = getServletConfig();
	/*
	//通过初始化参数的name获取value
	String driver = config.getInitParameter("driver");
	String url= config.getInitParameter("url");
	String user= config.getInitParameter("user");
	String password= config.getInitParameter("password");
	*/
	//获取所有初始化参数的name
	Enumeration<String> names = config.getInitParameterNames();
	while(names.hasMoreElements()){
		String name = names.nextElements();
		String value = config.getInitParameter(name);
		out.print(name + "=" +value);
		out.print("<br>");
	}
}
	@Override
	public void destory(){
	}
	@Override
	public ServletConfig getServletConfig(){
		return config;
	}
	@Override
	public String getServletInfo(){
		return null;	
	}
}

第三个常用的方法:String getServletName()
获取<.servlet-name>servletname<./servlet-name>
不是很重要,直接调用返回给一个字符串就行了,打印输出。

第四个常用方法:ServletContext getServletContext()
获取servletContext对象,【获取servlet上下文】对象
先记住方法名叫getServletContext()

public void service(ServletResquest request,ServletResponse response)throws ServletException, IOException{
	response.setContentType("text/html;charset = UTF-8");
	PrintWriter out = response.getWriter();
	//获取servletConfig
	ServletConfig config  = getServletConfig();

	ServletContext application = config.getServletContext();
	out.print(application.toString());//org.apache.catalina.core.ApplicationContextfacade@e46ea8
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值