ServletConfig接口中一共就四个常用的方法
- String getInitParameter(String name)
- Enumeration getInitParameterNames()
- ServletContext getServletContext()
- 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
}