ServletConfig与ServletContext

 

1.web容器为每个<servelt>设置产生一个Servetl以及ServeltConfig实例

 

 

2.一般不使用ServletConfig的log方法执行日志功能,使用JDK本身附带的日志包或Log4j

如果使用的是Tomcat,则此方法的日志保存在Tomcat的log目录下

 

3.Servlet初始化参数通常作为常数来设置,可以将一些不想写死的信息放到初始化参数中

 <servlet>
    <servlet-name>HeaderDemo</servlet-name>
    <servlet-class>com.my.myHttpServletRequest.HeaderDemo</servlet-class>
    <init-param>
     <param-name>age</param-name>
     <param-value>20</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>

         ..............

 

4.ServletContext是整个web应用程序的代表,可以通过ServletConfig的getServletContext方法获取,可以使用ServletContext与web应用程序通信,获取初始参数/设置属性..........

 

ServletContext既然代表整个web应用程序,就可以用它来与web应用程序沟通,甚至取得同一个服务器上的其它web应用程序的ServletContext

 

getResourcePaths() 查看某个目录中有哪些文件

 

getResourceAsStream() 读取某个文件内容,指定路径必须以/开头,返回InputStream实例

 

ServletContext还可以设置整个web应用程序中servlet所需共享的数据,即设置其属性

 

ServletContext自己没有设置属性,但它有默认的属性,不知道在哪定义的???

Enumeration<String> e2 = s.getAttributeNames();
  while(e2.hasMoreElements()){
   String n = e2.nextElement();
   //String r = (String)s.getAttribute(n);
   System.out.println(n);
  }

结果:

javax.servlet.context.tempdir
org.apache.catalina.jsp_classpath
org.apache.jasper.runtime.JspApplicationContextImpl
org.apache.catalina.resources
colleag
org.apache.tomcat.JarScanner
speciality
org.apache.tomcat.InstanceManager

 

 

 

 

 

5.ServletContextListener

 

ServeltContextListener监听ServeltContext(Web应用程序)的初始化与销毁

分别调用了 contextInitialized()与contextDestroyed() ,并传入ServletContextEvent,则可以得到ServeltContext

 

 

 

你可能感兴趣的:(servletContext)