1. 程式人生 > 其它 >servlet-ServletConfig介面2

servlet-ServletConfig介面2

技術標籤:webjavaservlet

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());//[email protected]
}