Servlet-ServletConfig对象
ServletConfig接口的方法
* getInitParameterNames
* getInitParameter
* getServletName
* getServletContext
作用:
封装了Servlet的配置信息,并且可以获取ServletContext对象
1)配置Servlet的初始化参数
HelloServlet com.demo.javaweb.HelloServlet user root password 1230 1
2)获取初始化参数:
>getInitParameter(String name):获取指定参数名的初始化参数
>getInitParameterNames():获取参数名组成的Enumeration对象
@Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("init..."); String user = servletConfig.getInitParameter("user"); System.out.println(user); Enumerationnames = servletConfig.getInitParameterNames(); while (names.hasMoreElements()){ String name = names.nextElement(); String value = servletConfig.getInitParameter(name); System.out.println(name + " " + value); } }
3)获取servlet的配置名称
String servletName = servletConfig.getServletName(); System.out.println(servletName);
ServletContext接口:
* Servlet引擎为每个WEB应用程序都创建了一个对应的ServletContext对象,ServletContext对象被包含在ServletConfig对象中,调用ServletConfig.getServletContext方法可以返回ServletContext对象的引用。
* 由于一个WEB应用程序中所有Servlet都共享同一个ServletContext对象,所以,ServletContext对象被称之为application对象(web应用程序对象)。
* 功能:
-获取WEB应用程序的初始化参数
-记录日志
-application域范围的属性
-访问资源文件
-获取虚拟路径所映射的本地路径
-WEB应用程序之间的访问
-ServletContext的其他方法
driver com.mysql.jdbc.Driver jdbcUrl jdbc:mysql://
1.获取web应用的初始化参数
方法:
getInitParameter
getInitParameterNames
ServletContext servletContext = servletConfig.getServletContext(); String driver = servletContext.getInitParameter("driver"); System.out.println(driver); Enumerationnames2 = servletContext.getInitParameterNames(); while (names2.hasMoreElements()){ String name = names2.nextElement(); String value = servletConfig.getInitParameter(name); System.out.println(name + " " + value); }
web应用的初始化参数:可以被所有servlet所获取
servlet初始化参数:只能用于这个Servlet所获取
2.获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署前的路径
getRealPath(String path)
String realPath = servletContext.getRealPath("/hello.jsp"); System.out.println(realPath);
3.获取当前WEB应用的名称:
getContextPath()
4.获取当前WEB应用的某一个文件对应的输入流
getResourceAsStream(String path):path的/为当前WEB应用的根目录
ClassLoader classLoader = getClass().getClassLoader(); InputStream is = classLoader.getResourceAsStream("jdbc.properties"); System.out.println(is); InputStream inputStream = servletContext.getResourceAsStream("/WEB-INF/classes/jdbc.properties"); System.out.println(inputStream);
5.与Attribute相关的方法