ServletContext的使用
web容器在启动的时候,他会为每个web程序都创建一个对应的ServletContext对象,他代表了当前的web应用
获取ServletContext的对象的三种方法
// 第一种方式 ServletContext con1 = this.getServletConfig().getServletContext(); // 第二种方式 ServletContext con2 = req.getSession().getServletContext(); // 第三种方式 ServletContext con3= this.getServletContext();
共享数据 使用ServletContext 对象完成数据的共享

数据存储:context.setAttribute(String name,Object value);
数据获取:context.getAttribute(String name);
代码A:
代码B:(加了一步强转的操作)

添加映射:
<servlet>
<servlet-name>setc</servlet-name>
<servlet-class>com.guangtao.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>setc</servlet-name>
<url-pattern>/setc</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>getc</servlet-name>
<servlet-class>com.guangtao.servlet.getValue</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>getc</servlet-name>
<url-pattern>/gets</url-pattern>
</servlet-mapping>
注意:
- 在输入代码B的映射前得先运行代码A的映射路径,否则会出现null的情况
- 如果在web.xml中配置多个servlet标签,web-app出现报错(一个标签并不会报错)
- 原因:引入的版本与默认的版本不匹配。
- 解决办法:在web.xml 的web-app头部加入一下配置即可
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">

浙公网安备 33010602011771号