小小六

          學無止境

          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 閱讀(579) 評論(0)  編輯  收藏 所屬分類: Servlet&JSP

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

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 全椒县| 宜丰县| 宁安市| 南雄市| 富裕县| 白山市| 安泽县| 清苑县| 绵竹市| 炎陵县| 游戏| 阿克| 秭归县| 舒兰市| 武乡县| 图们市| 定日县| 长子县| 平江县| 新晃| 天气| 孙吴县| 富平县| 正安县| 时尚| 南投市| 丹阳市| 垣曲县| 呈贡县| 高唐县| 枣强县| 黑水县| 大连市| 东乡族自治县| 九龙坡区| 富阳市| 瓮安县| 扎兰屯市| 郎溪县| 盈江县| 乌海市|