JavaWeb_servlet(8)_ ServletContext
JavaWeb_servlet
ServletContext
● WEB 容器在启动时,它会为每个 WEB 应用程序都创建一个对应的 ServletContext 对象,它代表当前 web 应用。
● 由于一个 WEB 应用中的所有 Servlet 共享同一个 ServletContext 对象,因此 Servlet 对象之间可以通过 ServletContext 对象来实现通讯。ServletContext 对象通常也被称之为 context 域对象。
● 查看 ServletContext API 文档,了解 ServletContext 对象的功能。
● 应用:
- 获取WEB应用的全局初始化参数(完整源码见文末)
- 测试
以上操作完整源码:
package com.wyx.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class demo1 extends HttpServlet
{
@Override
public void init(ServletConfig config) throws ServletException
{
// 获得ServletContext对象
ServletContext sc = config.getServletContext();
// 获得ServletContext级别的全局的容器参数
String contextValue = sc.getInitParameter("context_key");
System.out.println(contextValue);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>servlet_demo</display-name>
<!--
全局(ServletContext)的容器参数
-->
<context-param>
<param-name>context_key</param-name>
<param-value>context_value</param-value>
</context-param>
<servlet>
<!-- 设置servlet的名字 -->
<servlet-name>helloServlet</servlet-name>
<!-- 具体的servlet的类 -->
<servlet-class>com.wyx.servlet.demo1</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
如有错误,欢迎指正!