ServletConfig and ServletContext
基本概念:
ServletConfig:存放了当前servlet的配置信息的对象
ServletContext:存放了整个应用的所有servlet都共享的信息的对象
ServletConfig对象:
获取方式:
1.在Servlet下直接通过this.getServletConfig()方法获得
2.通过在Servlet的初始化方法init(ServletConfig config)来获得
备注:这个对象比较简单
ServletContext对象:
获取方式:
1.在Servlet下直接通过this.getServletContext()方法获得(最好先声明了ServletContext对象,在init方法中初始化)
2.通过ServletConfig对象的getServletContext()方法获得
主要功能:
1.加载获得配置在web.xml的全局配置参数
2.存放和传输数据,即通过setAttribute()和getAttribute()来实现,application底层实现
3.读取资源文件servletContext.getResourceAsStream(path);注意path路径问题
备注:ServletContext对象是比较重要的一个对象,是一个域对象也是application底层实现。
备注:普通的java程序就使用getClass().getClassLoader().getResourceAsStream(path)读取资源文件,如果是在Servlet环境下就使用servletContext对象来读取资源文件。
properties.load(inputStream)
它们创建时机:
ServletConfig对象:我的理解是它应该实在访问Servlet对象的时候创建的
ServletContext对象:既然是所有的servlet都共享的,那么应该就是在web容器加载的时候就已经初始化创建了。
备注:如果要使用ServletConfig和ServletContext对象,最好在init()方法中先初始化好这两个对象。