Servlet多个对象共享数据
一個Web應用中的所有Servlet,共享同一個ServletContext對象
因此,ServletContext對象的域屬性,可以被該Web應用中的所用Servlet訪問
在ServletContext接口中,定義了分別用于增加、刪除、設置ServletContext域屬性的4個方法
ServletContext接口的方法
Enumeration getAttributeNames()
返回一個Enumeration對象,該對象包含所有存放在ServletContext中的所有域屬性名
Object getAttribute(String name)
根據參數指定的屬性名,返回一個與之匹配的域屬性值
Void removeAttribute(String name)
根據參數指定的域屬性名,從ServletContext中刪除匹配的域屬性
Void setAttribute(String name,Object obj)
設置ServletContext的域屬性,name是域屬性名,obj是域屬性值
實例程序
編寫TestServlet04類
setAttribute()方法,用于設置ServletContext對象的屬性值
編寫TestServlet05類
package cn.itcast.chapter04.servlet; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class TestServlet05 extends HttpServlet{ public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{ PrintWriter out=response.getWriter(); ServletContext context=this.getServletContext(); //通過getAttribute()方法獲取屬性值 String data=(String)context.getAttribute("data"); out.println(data); } public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException{ this.doGet(request,response); } }getAttribute()方法,用于獲取ServletContext對象的屬性值
編寫web.xml文件
啟動Tomcat,在瀏覽器中輸入
http://localhost:8080/chapter04/TestServlet04
訪問TestServlet04,將數據存入ServletContext對象
然后,輸入地址
http://localhost:8080/chapter04/TestServlet05
訪問TestServlet05
顯示結果如下
總結
以上是生活随笔為你收集整理的Servlet多个对象共享数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Servlet获取Web应用程序的初始化
- 下一篇: Spring MVC的优势