Web應(yīng)用與web.xml

  • Web應(yīng)用的根目錄下,必須有一個(gè)WEB-INF目錄杂腰,WEB-INF目錄下有一個(gè)web.xml竹挡,同時(shí)還可以有classes和lib目錄

  • web.xml is not necessary if no servlet is needed

  • classes目錄存放Web應(yīng)用需要的class文件

  • lib目錄存放Web應(yīng)用需要的其他類(lèi)庫(kù)

  • JSP文件和其他資源文件放在當(dāng)前Web應(yīng)用根目錄及其子目錄下

  • WEB-INF目錄是用戶無(wú)法訪問(wèn)的目錄

  • web.xml中的所有元素出現(xiàn)的先后順序和次數(shù)等規(guī)則都寫(xiě)在XML Schema文件中

    web.xml

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                                   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
               version="2.5">
    
      </web-app>
    
  • web.xml中各個(gè)標(biāo)記的出現(xiàn)順序

    (1) <web-app>

    根元素

    (2) <context-param>

    Servlet中的ServletContext對(duì)象讀取的初始參數(shù) 以及 JSP中的application內(nèi)置對(duì)象讀取的初始參數(shù)

    (3) <filter>

    過(guò)濾器

    (4) <filter-mapping>

    過(guò)濾器需要過(guò)濾的資源,下設(shè)的元素 <url-pattern>的數(shù)目不受限制骂删,可以使用*通配符

    (5) <listener>

    監(jiān)聽(tīng)器

    (6) <servlet>

    配置Servlet儒老,下設(shè)的元素<load-on-startup>load-on-startup元素標(biāo)記容器是否在啟動(dòng)的時(shí)候就加載這個(gè)servlet(實(shí)例化并調(diào)用其init()方法);它的值必須是一個(gè)整數(shù)蝴乔,表示servlet應(yīng)該被載入的順序;當(dāng)值為0或者大于0時(shí),表示容器在應(yīng)用啟動(dòng)時(shí)就加載并初始化這個(gè)servlet驮樊;當(dāng)值小于0或者沒(méi)有指定時(shí)淘这,則表示容器在該servlet被選擇時(shí)才會(huì)去加載;正數(shù)的值越小剥扣,該servlet的優(yōu)先級(jí)越高,應(yīng)用啟動(dòng)時(shí)就越先加載;當(dāng)值相同時(shí)铝穷,容器就會(huì)自己選擇順序來(lái)加載钠怯。

    (7) <servlet-mapping>

    配置Servlet訪問(wèn)路徑

    (8) <session-config>

    配置 session, cookie等的相關(guān)信息

    (9) <mime-mapping>

    mime類(lèi)型映射到擴(kuò)展名, 用于規(guī)定下載格式

    示例

      <mime-mapping> 
          <extension>doc</extension>
          <mime-type>application/msword</mime-type> 
      </mime-mapping> 
      <mime-mapping> 
          <extension>xls</extension> 
          <mime-type>application/msexcel</mime-type> 
      </mime-mapping> 
      <mime-mapping> 
          <extension>pdf</extension> 
          <mime-type>application/pdf</mime-type> 
      </mime-mapping>
      <mime-mapping> 
          <extension>zip</extension> 
          <mime-type>application/zip</mime-type> 
      </mime-mapping>
      <mime-mapping> 
          <extension>rar</extension> 
          <mime-type>application/rar</mime-type> 
      </mime-mapping>
      <mime-mapping> 
          <extension>txt</extension> 
          <mime-type>application/txt</mime-type> 
      </mime-mapping>
      <mime-mapping> 
          <extension>chm</extension> 
          <mime-type>application/mshelp</mime-type>
      </mime-mapping> 
      <mime-mapping>
          <extension>mp3</extension>
          <mime-type>audio/x-mpeg</mime-type>
      </mime-mapping>
    

    (10) <welcome-file-list>

    設(shè)置 "/" 的URL時(shí)的默認(rèn)訪問(wèn)文件,可以指定多個(gè)歡迎文件曙聂,調(diào)用時(shí)按順序查找

    示例

      <welcome-file-list>
          <welcome-file>index.jsp</welcome-file>
          <welcome-file>/html/user.html</welcome-file>
      </welcome-file-list>
    

    (11) <error-page>

    定制錯(cuò)誤頁(yè)面晦炊。根據(jù)錯(cuò)誤碼選擇出現(xiàn)錯(cuò)誤時(shí)的跳轉(zhuǎn)文件。<exception-type>可以捕捉未設(shè)置錯(cuò)誤碼的跳轉(zhuǎn)文件

    示例

      <error-page>
          <error-code>404</error-code>
          <location>/error404.html</location>
      </error-page>
      <error-page>
          <exception-type>java.io.IOException</exception-type>
          <location>/errorIO.html</location>
      </error-page>
    
  • Web應(yīng)用的初始化順序

    (1) 對(duì) <listener>元素聲明的監(jiān)聽(tīng)器實(shí)例化

    (2) 調(diào)用實(shí)現(xiàn)了ServletContextListener接口的監(jiān)聽(tīng)器(可能不止一個(gè))的contextInitialized()方法

    (3) 實(shí)例化 <filter> 元素聲明的過(guò)濾器

    (4) 調(diào)用過(guò)濾器的 init() 方法

    (5) 如果 <servlet>使用了 <load-on-startup>元素宁脊,則按照數(shù)值從小到大的順序?qū)ervlet進(jìn)行實(shí)例化断国,并調(diào)用對(duì)應(yīng)的init() 方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市榆苞,隨后出現(xiàn)的幾起案子稳衬,更是在濱河造成了極大的恐慌,老刑警劉巖坐漏,帶你破解...
    沈念sama閱讀 212,383評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件薄疚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡赊琳,警方通過(guò)查閱死者的電腦和手機(jī)街夭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)躏筏,“玉大人板丽,你說(shuō)我怎么就攤上這事〕媚幔” “怎么了埃碱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,852評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)酥泞。 經(jīng)常有香客問(wèn)我乃正,道長(zhǎng),這世上最難降的妖魔是什么婶博? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,621評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮荧飞,結(jié)果婚禮上凡人,老公的妹妹穿的比我還像新娘。我一直安慰自己叹阔,他們只是感情好挠轴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著耳幢,像睡著了一般岸晦。 火紅的嫁衣襯著肌膚如雪欧啤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,929評(píng)論 1 290
  • 那天启上,我揣著相機(jī)與錄音邢隧,去河邊找鬼。 笑死冈在,一個(gè)胖子當(dāng)著我的面吹牛倒慧,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播包券,決...
    沈念sama閱讀 39,076評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼纫谅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了溅固?” 一聲冷哼從身側(cè)響起付秕,我...
    開(kāi)封第一講書(shū)人閱讀 37,803評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎侍郭,沒(méi)想到半個(gè)月后询吴,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡励幼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評(píng)論 2 327
  • 正文 我和宋清朗相戀三年汰寓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苹粟。...
    茶點(diǎn)故事閱讀 38,716評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡有滑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嵌削,到底是詐尸還是另有隱情毛好,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評(píng)論 4 333
  • 正文 年R本政府宣布苛秕,位于F島的核電站肌访,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏艇劫。R本人自食惡果不足惜吼驶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望店煞。 院中可真熱鬧蟹演,春花似錦、人聲如沸顷蟀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸣个。三九已至羞反,卻和暖如春布朦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昼窗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,027評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工是趴, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人膏秫。 一個(gè)月前我還...
    沈念sama閱讀 46,488評(píng)論 2 361
  • 正文 我出身青樓右遭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親缤削。 傳聞我的和親對(duì)象是個(gè)殘疾皇子窘哈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評(píng)論 2 350

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

  • <extension>123</extension><mime-type>application/vnd.lotu...
    張不二01閱讀 972評(píng)論 0 0
  • 平時(shí)我們?cè)趯?xiě)一般的應(yīng)用程序的時(shí)候,無(wú)論如何都會(huì)有一個(gè)main函數(shù)入口亭敢。而在進(jìn)行web開(kāi)發(fā)的時(shí)候滚婉,從頭到尾我們都沒(méi)有...
    紙簡(jiǎn)書(shū)生閱讀 10,039評(píng)論 1 21
  • 本章為部署描述符中Web容器支持詳細(xì)描述Java Servlet 規(guī)范3.0版本要求。部署描述符在應(yīng)用開(kāi)發(fā)者帅刀,應(yīng)用...
    Lucky_Micky閱讀 1,990評(píng)論 0 0
  • 今天是小歐的第三天让腹,早上出門(mén)時(shí)天下著小雨,突然收到初中同學(xué)的信息扣溺。我們的歷史老師的女兒得了重病骇窍,生命垂危。原以為人...
    王萍?xì)W薩閱讀 377評(píng)論 1 1
  • 我生于湘西一個(gè)貧苦農(nóng)民家庭锥余,在我印象中我媽從來(lái)都沒(méi)有給我買(mǎi)過(guò)一件新衣服腹纳,我都是穿表姐,堂姐不要和剩下來(lái)的衣服驱犹,物質(zhì)...
    如花似雨閱讀 190評(píng)論 0 0