1.ServletConfig:封装了Servlet的配置信息,并且可以获取ServletContext对象
(1).配置Servlet 的初始化参数:<init-param>必须放在<load-on-startup>前面
<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>1230</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
(2)获取初始化参数:
getInitParameter(String name):获取指定参数名的初始化参数
getInitParameterNames():获取参数名组成的Enumeration对象。
示例:
public void doGet(HttpServletRequest request, HttpServletResponse response) 15 throws ServletException, IOException { 16 17 ServletConfig config = this.getServletConfig(); //拿到init方法中的ServletConfig对象 18 19 // --获取当前Servlet 在web.xml中配置的名称(用的不多) 20 String sName = config.getServletName(); 21 System.out.println("当前Servlet 在web.xml中配置的名称:"+sName); 22 23 // --获取当前Servlet中配置的初始化参数(只能获取一个)经常用到 24 String value = config.getInitParameter("name2"); 25 System.out.println(value); 26 27 // --获取当前Servlet中配置的初始化参数(全部获取)经常用到 28 Enumeration enumration = config.getInitParameterNames(); 29 while(enumration.hasMoreElements()){ 30 String name = (String) enumration.nextElement(); 31 String value = config.getInitParameter(name); 32 System.out.println(name+":"+value); 33 } 34 } 35 36 public void doPost(HttpServletRequest request, HttpServletResponse response) 37 throws ServletException, IOException { 38 doGet(request, response); 39 }
2.ServletContext接口
(1)可以由ServletConfig 获取
ServletContext servletContext = servletConfig.getServletContext();
(2)该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的一个大管家,可以获取WEB应用的各个方面的信息。
获取当前WEB应用的初始化参数:
getInitParameter
getInitParameterNames
代码:
ServletContext servletContext = servletConfig.getServletContext();
String driver = servletContext.getInitParameter("driver");
System.out.println("driver"+driver);
Enumeration<String> names2 = servletContext.getInitParameterNames();
while(names2.hasMoreElements()){
String name = names2.nextElement();
System.out.println("-->"+name);
}
获取当前WEB应用的某个文件的绝对路径:
getRealPath(String Path);
获取当前WEB应用的名称:
getContextpath();
代码:String contextPath = servletContext.getContextPath();
System.out.println(contextPath);
获取当前WEB应用的某个文件对应的输入流
getResourceAsStream(String path)
代码:ClassLoader calssLoader = getClass().getClassLoader();
InputStream is =ClassLoader.getSystemResourceAsStream("jdbc.properties");
System.out.println("1."+is);