ServletContext對(duì)象

1、WEB容器在啟動(dòng)時(shí)所刀,為每個(gè)web應(yīng)用程序創(chuàng)建一個(gè)相應(yīng)的ServletContext對(duì)象捞挥,它代表當(dāng)前web應(yīng)用浮创,停掉服務(wù)器或者從服務(wù)器中刪除某個(gè)web應(yīng)用時(shí)被銷毀砌函。

2溜族、得到servlet方式:

? ? ? ?1)可通過ServletConfig.getServletContext方法獲得ServletContext對(duì)象,即:

? ? ? ? ? ? ? ? ? ? ServletContext context=this.getServletConfig().getServletContext;

? ? ? ?2)現(xiàn)有的類繼承HttpServlet垦沉,類里寫:

? ? ? ? ? ? ? ? ? ? ? context=this.getServletContext()

3、域就是容器寡壮,context域就是容器的范圍讹弯,只要往容器里面放東西,整個(gè)web應(yīng)用程序范圍內(nèi)都取得出來闸婴,如:this.getServletContext.setAttribute("xx",xx);設(shè)置的芍躏,別的servlet也能取到,要把數(shù)據(jù)帶給1.jsp頁面对竣,不要用this.getServletContext.setAttribute("xx",xx);庇楞,因?yàn)榇娴臄?shù)據(jù)被整個(gè)web應(yīng)用程序共享,如果在跳轉(zhuǎn)到1.jsp頁面之前調(diào)用了別的servlet設(shè)置了this.getServletContext.setAttribute("xx",xx);跳轉(zhuǎn)到2.jsp頁面吕晌,會(huì)將之前容器中設(shè)置的數(shù)據(jù)覆蓋临燃,這樣取不到想取的值

4、servletContext域:

1)這是一個(gè)容器

2)servletContext域就說明了這個(gè)容器作用范圍膜廊,也就應(yīng)用程序范圍

5、應(yīng)用:

? ?1)多個(gè)servlet通過ServletContext對(duì)象實(shí)現(xiàn)數(shù)據(jù)共享

? ?2)獲取WEB應(yīng)用的初始化參數(shù)

? ?3)實(shí)現(xiàn)servlet的轉(zhuǎn)發(fā)

? ?4)利用ServletContext對(duì)象讀取資源文件

6蹬跃、配置文件通常有兩種:.properties文件或.xml文件配置铆铆,數(shù)據(jù)之前沒有關(guān)系用properties配置,數(shù)據(jù)之? ?間有關(guān)系用xml配置

配置文件(如src下面的db.properties)

1)通過servletContext讀取(常用)

InputStream in=this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties"),

即使配置文件在src下薄货,也不是通過src下路徑讀取的,因?yàn)镴ava工程是發(fā)布到服務(wù)器中的荐吵,讀取配置文件實(shí)際上是服務(wù)器在讀取,Java工程發(fā)布后在服務(wù)器中是以classes文件存在所以路徑應(yīng)為classes下db.properties所在的路徑

路徑可以看配置文件在文件夾里看它存在哪個(gè)位置

2)創(chuàng)建Properties對(duì)象:Properties props=new Properties();以map形式存儲(chǔ)先煎,如:鍵值對(duì)(username,*****),(password,******)......

3)通過流將獲取到的路徑中的信息讀到對(duì)象中去:props.load(in);

4)讀取配置信息,如:

String username=props.getProperty("username");? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? String password=props.getProperty("password");

通過傳統(tǒng)方式讀纫>搿:(不可行)

FileInputStream in = new FileInputStream("classes/db.properties");? 錯(cuò)誤占锯,讀取不到,路徑是相對(duì)于服務(wù)器中的java虛擬機(jī)的啟動(dòng)目錄的路徑消略,即相對(duì)的是虛擬機(jī)tomcat下的bin目錄,若想訪問却紧,則每次需要在bin目錄下創(chuàng)建一個(gè)classes的文件夾胎撤,將db.properties復(fù)制進(jìn)去,此時(shí)通過傳統(tǒng)方式就能讀取到伤提,所以在實(shí)際開發(fā)中最好不要用傳統(tǒng)方式讀取,應(yīng)該用ServletContext讀戎啄小;若想通過傳統(tǒng)方式讀取痴昧,可以通過ServletContext的getRealPath獲得資源的絕對(duì)路徑后再通過傳統(tǒng)方式讀取文件(當(dāng)需要讀取客戶端穿過來的資源文件名稱時(shí)可用這種方式)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末冠王,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子豪娜,更是在濱河造成了極大的恐慌哟楷,老刑警劉巖瘤载,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸣奔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡挎狸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門崭别,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恐锣,“玉大人,你說我怎么就攤上這事土榴。” “怎么了学搜?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵论衍,是天一觀的道長(zhǎng)聚磺。 經(jīng)常有香客問我,道長(zhǎng)瘫寝,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任咪啡,我火速辦了婚禮暮屡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘褒纲。我一直安慰自己,他們只是感情好衫嵌,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布彻秆。 她就那樣靜靜地躺著结闸,像睡著了一般酒朵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上耻讽,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音饼记,去河邊找鬼慰枕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛具帮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜂厅,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼掘猿,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了稠通?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤滋尉,失蹤者是張志新(化名)和其女友劉穎飞主,沒想到半個(gè)月后狮惜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碌识,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丸冕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胖烛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诅迷。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡众旗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滩租,到底是詐尸還是另有隱情利朵,我是刑警寧澤律想,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布技即,位于F島的核電站樟遣,受9級(jí)特大地震影響而叼,放射性物質(zhì)發(fā)生泄漏豹悬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一脱篙、第九天 我趴在偏房一處隱蔽的房頂上張望涤久。 院中可真熱鬧,春花似錦响迂、人聲如沸细疚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至待侵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秧倾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工那先, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斤葱。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓揖闸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親楔壤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容