一、WEB容器在啟動時候,它會為每個WEB應用程序創建一個對應的ServletContext對象,它代表當前WEB應用。
二、ServletContext對象可以通過ServletConfig.getServletContext方法獲得對Servlet對象的引用,也可以通過this.getServletContext90來獲得其對象的引用。
三、由于一個WEB應用中的所有Servlet共享同一個ServletContext對象,因此Servlet對象之間可以通過ServletContext對象來實現通訊。ServletContext對象通常也被稱之為Context域對象。公共聊天室就是用到它。
四、如何使用ServletContext?
1.如何獲得ServletContext對象?
ServletContext sc=this.getServletContext();
2.可以將ServletContext想象成一張表,這個和session非常相似。
添加屬性:setAttribute(String name,Object ob);
得到值:getAttribute(String name);
刪除屬性:removedAttribute(String name);
3.生命周期
ServletContext中的屬性的生命周期從開始創建到服務器關閉而結束
五、ServletContext應用
1.可以被項目中多個servlet共享
2.獲取wenb應用的初始化參數。例如:在web.xml中我們有這樣一段代碼,
<context-param>
<param-name>name</param-name>
<param-value>scott</param-value>
</context-param>
如果<context-param>和<servlet>元素是兄弟關系
String value=this.getServletContext().getInitParameter("name");
結果value的值是scott
如果<context-param>是<servlet>元素的兒子
String value=this.getServletConfig().getIn.getInitParameter("name");
結果value的值也是scott
3.可以請求轉發
(1)response.sendRedirect("/web應用名/資源名");
(2)request.getRequestDispatcher("/資源名").forward(request,response)===this.getServletContext.getRequestDispatcher("/資源名").forward(request,response);
4.讀取web應用的資源文件
(1)資源文件寫在WebRoot下面
1>讀取資源文件內容,例如:有一個msql.properties文件
文件內容如下:
username=scott
password=123
如何讀取:
InputStream is=this.getServletContext().getresourceAsStream("msql.properties");//讀取到文件
Propreties pp=new Propreties();
pp.load(is);
System.out.println("name="+pp.getProperty("username"));//結果是scott
2>讀取文件的全路徑,例如:webRoot下有一個/imgs/1.jpg文件
String Path=this.getServletContext().getRealPath("/imgs/1.jpg");
(2)資源文件在src下面則使用類加載器
隨便挑選src文件下的某個類例如:Servlet.java
InputStream is=Servlet.class.getClassloader.getResourceAsStream("文件名字");
到此,相信大家對“ServletContext的詳細介紹”有了更深的了解,不妨來實際操作一番吧!這里是本站網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
江蘇銀行信用卡積分怎么查詢?江蘇銀行信用卡積分兌換要求是什么?一起來了解一下吧。江蘇銀行信用卡積分查詢方法:1、網銀查詢①登錄網上銀行;②通過“賬務服務——積分查詢”進行查詢。2、積分商城查詢登錄積分商城網站https://jfymall.jsbchina.cn/jfyMall/default.do進行查詢。3、手機銀行查詢①登錄手機銀行客戶端;②通...
新華社???月9日電題:秘魯羊駝“萌”在進博會上走俏。新華社記者田瑞楊冠宇在首屆中國國際消費品博覽會現場,穿行于各國好物間的陳女士在一個擺滿秘魯娃娃的貨架前駐足。在與3歲的女兒視頻通話后,陳女士挑選了一只手工制作的羊駝熊?!半m然有點貴,但是感覺很好,特別可愛。孩子一定很喜歡!”陳女士說。羊駝在秘魯有著極高的經濟價值,羊駝玩偶是具有當地特色的手工藝品。進博會上,陳女士買的熊娃娃來自秘魯品牌Warmp...
協定存款利率是協定存款的利息率,我國的協定存款利率由中國人民銀行確定并公布。協定存款是客戶按照規定與金融機構簽訂《協定存款合同》并約定存款額度開立的結算賬戶,賬戶中超過存款額度的部分,金融機構自動將其轉入協定賬戶,并以協定存款利率計息的一種企業存款。協定存款賬戶按季結息,屬于基本存款額度以內的存款,按結息日中國人民銀行公布的活期存款利率計息;超過基本存款額度的存款,按結息日中國人民銀行公布的協定存...