ServletContext全局参数设置

  • web容器在启动时,它会为每个web应用程序都创建一个对应的ServletContext对象,他代表当前的web应用。
  • 由于一个web应用中所有的servlet共享同一个ServlrtContext对象,因此servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称为context域对象
  • 查看ServletContext API文档,了解ServletContext对象的功能

应用:

  1. 获取web应用的全局初始化参数
  2. 通过ServletContext对象实现数据共享,例如统计站点访问次数
  3. 利用ServletContext对象读取资源文件

在ServletConfig类里有getServletContext()方法

创建一个servlet类,命名为ServletContextDemo里面的init方法改为带参数的

public void init(ServletConfig config) throws ServletException {
		//获得ServletContext对象
		ServletContext sc=config.getServletContext();
		//获得ServletContext级别的全局容器参数
		String contextvalue=sc.getInitParameter("context_key");
		System.out.println(contextvalue);
	}

 通过“context_key”获得web.xml配置文件里响应的paprm_value并输出到屏幕上

web.xml文件中的配置:

<!-- 全局的容器参数 -->
  <context-param>
  	<param-name>context_key</param-name>
  	<param-value>context_value</param-value>
  </context-param>
    <servlet>
    <servlet-name>ServletContextDemo</servlet-name>
    <servlet-class>ServletContextDemo</servlet-class>
 	 <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletContextDemo</servlet-name>
    <url-pattern>/ServletContextDemo</url-pattern>
  </servlet-mapping>

输出结果:

猜你喜欢

转载自blog.csdn.net/yszbrzdd/article/details/82766662