ServletContext 類的使用

來源:互聯網
上載者:User

什麼是ServletContext?

要理解ServletContext的話就必須和Cookie,Session做一個對比,如右圖所示:

你可以把他想象成是一個共用的空間,可以被所有的使用者訪問,也就是說,A客戶可以訪問D,B,C也是可以的。

即有些資料是被資料共用的。

ServletContext技術講解

使用ServletContext

1: 如何得到ServletContext 執行個體

this.getServletContext();

2:   你可以把它想象成一張表,這個和Session非常相似,每一行就是一個屬性

     添加屬性: setAttribute(String name, Object obj)

     得到值  : getAttribute(String name) 返回Object

     刪除屬性: removeAttribute(name)

3: 生命週期

ServletContext中的屬性的生命週期從建立開始,到伺服器關閉而結束。

用於寫入資料

package com.tsinghua;import javax.servlet.ServletContext;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.PrintWriter;public class ServletContextTest1 extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse res){try{//中文亂碼res.setContentType("text/html;charset=gbk");PrintWriter pw = res.getWriter();//1:得到Servlet ContextServletContext sc = this.getServletContext();//2: 添加屬性sc.setAttribute("wuxinliulei","無心流淚");pw.println("給ServletContext添加了一個屬性 wuxinliulei");}catch(Exception ex){ex.printStackTrace();}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}}

用於讀取資料

package com.tsinghua;import javax.servlet.ServletContext;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.PrintWriter;public class ServletContextTest2 extends HttpServlet{public void doGet(HttpServletRequest req,HttpServletResponse res){try{//中文亂碼res.setContentType("text/html;charset=gbk");PrintWriter pw = res.getWriter();//1:得到Servlet ContextServletContext sc = this.getServletContext();//2: 得到 屬性和對應的值String info = (String)sc.getAttribute("wuxinliulei");pw.println("wuxinliulei = "+info);}catch(Exception ex){ex.printStackTrace();}}public void doPost(HttpServletRequest req,HttpServletResponse res){this.doGet(req,res);}}

開啟多個瀏覽器就相當於有多個使用者進行訪問,可以證明確實是資料共用的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.