使用ServletContext实现多个Servlet共享数据
web容器在启动的时候,他会为每个web程序创建一个对应的ServletContext对象,此对象代表了当前的web应用
如何实现共享数据呢?
在ServletA中保存的数据 在ServletB中也能获取到
步骤分析:
注意:使用this来获取ServletContext对象
再使用对象中setAttribute方法来存数据
web.xml中
<?xml version="1.0" encoding="UTF-8"?><servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.csnz.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/helloServlet</url-pattern>
</servlet-mapping>
<!-- 注册GetServlet-->
<servlet>
<servlet-name>GetInfo</servlet-name>
<servlet-class>com.csnz.servlet.GetServlet</servlet-class>
</servlet>
<!-- 一个Servlet对应一个映射-->
<servlet-mapping>
<servlet-name>GetInfo</servlet-name>
<url-pattern>/GetInfo</url-pattern>
</servlet-mapping>
启动服务器
先访问GetInfo
发现对象如我们所料 没存进去
再访问helloServlet
运行结果正常无输出
再次访问GetInfo
发现成功取出对象信息