servlet-ServletConfig介面2
阿新 • • 發佈:2021-01-09
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());//[email protected]
}