Servlet學(xué)習(xí)

          1.servlet映射
          <servlet-mapping>
                <servlet-name>MyName</servlet-name>
                <url-pattern>/hello.html<url-pattern>
          </servlet-mapping>

          其中,url也可以使用通配符,但是只有兩種形式:
          1)*.擴(kuò)展名
          2)正斜杠"/"開(kāi)頭,并以"/*結(jié)尾"

          例如:指定/action/*.xx,在地址欄中輸入/action/test.xx是無(wú)法匹配的,因?yàn)?action/*.xx是一個(gè)無(wú)效的映射路徑。

          2.servlet激活器
          <servlet-mapping>
                <servlet-name>invoker</servlet-name>
                <url-pattern>/servlet/*<url-pattern>
          </servlet-mapping>
          這段內(nèi)容說(shuō)明,當(dāng)訪問(wèn)應(yīng)用程序下面任何以/servlet/開(kāi)頭的程序時(shí),都會(huì)去調(diào)用一個(gè)注冊(cè)名為invoker的servlet。

          這個(gè)注冊(cè)名為invoker的servlet,在tomcat主目錄/conf目錄下的web.xml中有定義,
          <servlet>
                <servlet-name>invoker</servlet-name>
                <servlet-class>org.apache.catalina.servlets.InvokerServlet</servlet-class>
                <load-on-startup>2</load-on-startup>
          </servlet>
          其中l(wèi)oad-on-startup設(shè)定為隨tomcat啟動(dòng)而加載,
          而invoker這個(gè)servlet的作用就是去激活和調(diào)用任何其他的Servlet,故被稱(chēng)為Servlet激活器。

          3.servlet的加載
          1)當(dāng)接到某個(gè)servlet的請(qǐng)求時(shí),servlet引擎會(huì)檢查是否已經(jīng)創(chuàng)建了該servlet的實(shí)例對(duì)象,如果已經(jīng)創(chuàng)建了,直接到第4步,否則第2步。
          2)創(chuàng)建并裝載Servlet的一個(gè)實(shí)例對(duì)象
          3)調(diào)用servlet的init()方法,執(zhí)行Servlet的一些初始化工作
          4)創(chuàng)建一個(gè)用于封裝HTTP請(qǐng)求消息的HttpServletRequest對(duì)象和一個(gè)代表HTTP響應(yīng)消息的HttpServletResponse對(duì)象,然后調(diào)用servlet的service()方法,將這兩個(gè)對(duì)象傳遞進(jìn)去
          5)在一個(gè)Web應(yīng)用程序被停止或者重新啟動(dòng)之前,servlet引擎將卸載其中運(yùn)行的servlet。在卸載之前,調(diào)用servlet的destory()方法,執(zhí)行servlet的一些清理工作。

          如果對(duì)某個(gè)已經(jīng)裝載的servlet做了修改,除非重新啟動(dòng)服務(wù)器,否則內(nèi)存中運(yùn)行的仍舊是舊的servlet代碼。
          tomcat服務(wù)器可以設(shè)置,當(dāng)servlet被修改后,是否自動(dòng)裝載,tomcat主目錄/conf/server.xml中的Context元素中的reloadable屬性,默認(rèn)為false,就是不自動(dòng)加載修改的servlet。設(shè)定為true,會(huì)自動(dòng)裝載。當(dāng)開(kāi)發(fā)時(shí),可以設(shè)定為true,提高開(kāi)發(fā)效率,生產(chǎn)環(huán)境中再設(shè)定為false,減輕服務(wù)器負(fù)擔(dān)。

          posted on 2007-10-21 22:16 baim 閱讀(369) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Java

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          常用鏈接

          隨筆分類(lèi)(27)

          隨筆檔案(28)

          搜索

          最新評(píng)論

          主站蜘蛛池模板: 泸州市| 壤塘县| 黄陵县| 普兰县| 溧阳市| 长顺县| 乡城县| 中宁县| 景谷| 平顺县| 大城县| 兰坪| 闸北区| 屯留县| 甘肃省| 合山市| 龙岩市| 晋城| 开阳县| 岳阳市| 盘山县| 剑川县| 闽清县| 新晃| 宜昌市| 西城区| 合川市| 太和县| 玉林市| 雷山县| 静宁县| 图们市| 平邑县| 汶川县| 景洪市| 凤山县| 东乡县| 原阳县| 靖宇县| 乌拉特中旗| 盈江县|