Servlet學習

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

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

          例如:指定/action/*.xx,在地址欄中輸入/action/test.xx是無法匹配的,因為/action/*.xx是一個無效的映射路徑。

          2.servlet激活器
          <servlet-mapping>
                <servlet-name>invoker</servlet-name>
                <url-pattern>/servlet/*<url-pattern>
          </servlet-mapping>
          這段內容說明,當訪問應用程序下面任何以/servlet/開頭的程序時,都會去調用一個注冊名為invoker的servlet。

          這個注冊名為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>
          其中load-on-startup設定為隨tomcat啟動而加載,
          而invoker這個servlet的作用就是去激活和調用任何其他的Servlet,故被稱為Servlet激活器。

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

          如果對某個已經裝載的servlet做了修改,除非重新啟動服務器,否則內存中運行的仍舊是舊的servlet代碼。
          tomcat服務器可以設置,當servlet被修改后,是否自動裝載,tomcat主目錄/conf/server.xml中的Context元素中的reloadable屬性,默認為false,就是不自動加載修改的servlet。設定為true,會自動裝載。當開發時,可以設定為true,提高開發效率,生產環境中再設定為false,減輕服務器負擔。

          posted on 2007-10-21 22:16 baim 閱讀(373) 評論(0)  編輯  收藏 所屬分類: Java

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

          導航

          常用鏈接

          隨筆分類(27)

          隨筆檔案(28)

          搜索

          最新評論

          主站蜘蛛池模板: 临漳县| 新化县| 大兴区| 成武县| 启东市| 德保县| 藁城市| 辽源市| 醴陵市| 营山县| 大渡口区| 丽江市| 鸡泽县| 永宁县| 仪陇县| 孝感市| 淳安县| 博野县| 乐都县| 晴隆县| 革吉县| 清远市| 文水县| 岐山县| 黑河市| 花莲市| 柘城县| 博乐市| 驻马店市| 万全县| 莱芜市| 海原县| 太康县| 夏邑县| 乌苏市| 台北县| 青阳县| 三明市| 蒙城县| 天门市| 沾化县|