本系列博客汇总在这里:JavaWeb_servlet 汇总
目录
- ServletContext
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
{
public void init(ServletConfig config) throws ServletException
{
// 获得ServletContext对象
ServletContext sc = config.getServletContext();
// 获得ServletContext级别的全局的容器参数
String contextValue = sc.getInitParameter("context_key");
System.out.println(contextValue);
}
}
<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>
如有错误,欢迎指正!