小小六

          學無止境

          Servlet&JSP學習之servlet屬性和監聽(1)_servletConfig和servletContext

           

          servletConfig方法列表

          String getInitParameter(String name)

          返回name的實際初始化值

          Enumeration getInitParameterNames()

          以數組的形式返回所有的初始化值

          ServletContext getServletContext()

          返回上下文

          String getServletName()

          返回這個servlet實例的名稱

          在XMl中的代碼表現形式是這樣滴:

          <servlet>

          <init_param>

                  <param_name>myEmailAddress</param_name>

                  <param_value>pengjunxlx@yahoo.com.cn</param_value>

          </init_param>

          </servlet>

          在servlet代碼中:

          String emailAddress = getServletconfig().getInitparameter("myEmailAddress");//這里的myEmailAddress也就是上面在XML中定義的<param_name>myEmailAddress</param_name>

           

          容器初始化一個servlet的時候,他會讀DD,就是XML配置文件,并為servletConfig創建名/值對。具體的步驟是這樣:

          1. 容器讀取這個servlet的部署描述文件,包括servlet初始化參數(<init_param></init_param>)
          2. 容器為這個servlet創建一個新的servletConfig實例
          3. 容器為每個servlet初始化參數創建一個String 名/值對。
          4. 容器想servletConfig提供String 名/值初始化參數的引用
          5. 容器為servlet類創建一個實例
          6. 容器調用servlet的init()方法,傳如servletConfig引用

          問題來了:這個數據要是JSP也想用怎么辦呢?

          在servlet中:request.setAttribute("jspEmail",emailAddress );

          然后在JSP中:request.getAttribute("jspEmail");

          但是,如果想這樣一個屬性,需要在很多地方用到,那就最好用上下文初始化參數了:servletContext

          servletContext

          servletContext與servletConfig的比較學習:

            servletConfig servletContext
          適用范圍 只對配置了<init_param>響應的servlet適用 適用于整個web項目
          部署表述文件
          <web_app>
          ... ...
          <servlet>
          <init_param>
              <param_name></param_name>
              <param_value></param_value>
          </init_param>

          </servlet>
          ......
          </web_app>

          <web_app>
          ... ...
             <servlet>
             ... ...
             </servlet>
            <context_param>
                   <param_name></param_name>
                    <param_value></param_value>
             </context_param>
          ... ...
          </web_app>
          servlet代碼中的表現 getServletconfig().getInitparameter("  ") getServletContext().getInitParameter("  );

           

          servletContext還能做什么?看看servletContext主要的一些方法吧:

          servletContext是JSP活著servlet與容器及WEB應用其他部分的一個連接。

          Object getAttribute(String name)

          通過name得到屬性

          Enumeration getAttributeNames()

          得到屬性數組

          String getInitParameter(String name)

          得到初始化參數

          Enumeration getInitParameterNames()

          得到初始化參數數組

          void setAttribute(String name, Object object)

          設置屬性

          void removeAttribute(String name)

          刪除屬性

          RequestDispatcher getRequestDispatcher(String path)

          請求分派

          posted on 2008-12-22 14:19 peterJ 閱讀(578) 評論(0)  編輯  收藏 所屬分類: Servlet&JSP

          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 葫芦岛市| 鹰潭市| 南川市| 平度市| 都江堰市| 偏关县| 富蕴县| 白河县| 梨树县| 曲水县| 滁州市| 双江| 社旗县| 中宁县| 韶关市| 河西区| 宁波市| 横峰县| 三穗县| 理塘县| 琼海市| 六枝特区| 巴彦淖尔市| 九龙坡区| 江达县| 安乡县| 电白县| 祁阳县| 信丰县| 宿迁市| 莱芜市| 茶陵县| 伊春市| 延边| 陆川县| 调兵山市| 简阳市| 大石桥市| 庆阳市| 响水县| 甘孜县|