數據加載中……
          個人學習
          J2EE上API上有兩個init方法  一個是帶參數的 init(ServletConfig config)
          方法還有一個是不帶參數的 init()方法
          通常情況下,比如用tomcat,tomcat會把web.xml的配置信息封裝成對象 (也就是config ),通過調用init(ServletConfig config)給正常初始化.tomcat調用init(ServletConfig config)方法的類中有個成員變量叫config,
          tomcat的具體實現是{this.config = config; init();}這樣config成員變量就被正常初始化了.
          如果我們程序員要自己手動的方式調用init方法,最好用不帶參數的init(),如果非要用帶參數的init(ServletConfig config)方法.就一定不能忘記調用父類的super.init(config);
          因為重寫方法,就把以前的語句給覆蓋了.不能正常的賦值了.
          不然用到servletContext的時候很容易出空指針異常(config成員變量沒有正常初始化);
          2。創建Servlet時,必須要繼承自HttpServlet,也就是Servlet的父類(super)。
          HttpServlet作為一個抽象類用來創建用戶自己的Servlet,HttpServlet的子類至少重寫一下方法中的一個:doGet()和doPost().
          HttpServlet類提供doGet()方法處理form表單的GET請求,并提供doPost()方法來處理POST請求。
          你必須了解Servlet 的生命周期:
          實例化——>Servlet容器創建Sevlet實例
          初始化——>該容器調用init()方法
          服  務——>如果請求Servlet,則容器調用Service()方法
          銷  毀——>銷毀實例之前調用destroy()方法
          那就得給你解釋下初始化了:
          Servlet容器加載好Servlet后,必須進行初始化,初始化Servlet時,可以設置數據庫連接參數,建立JDBC連接,或者建立對其他資源的引用。在初始化階段init()方法被掉用。這個方法在javax.servlet.Servlet接口中定義。
          你可以把Servlet容器 就當作和Tomcate一樣的東西!所以Servlet也叫Servlet引擎。 
            ServletConfig說明和用法

          因為本人雖然做過開發,卻一些基本知識不扎實,今天用到了,所以惡補了一下,特整理成了文檔,希望能鞏固知識,也希望能幫助一些朋友。

                  Servlet容器初始化一個servlet對象時,會為這個servlet對象創建一個servletConfig對象。servletConfig對象中包含了servlet的初始化參數信息。此外,servletConfig對象還與servletContext對象關聯。Servlet容器在調用servlet對象的init(ServletConfig  config)方法時,會把servletConfig對象當做參數傳遞給servlet對象。Init(ServletConfig  config)方法會使得當前servlet對象與servletConfig對象建立關聯關系。

          servletConfig接口中定義了一下方法:
          Ø       getInitParameter(String   name)根據給定的初始化參數,返回匹配的初始化參數值。

          Ø       getInitParameterNmes():返回一個Enumeration對象,里面包含了所有的初始化參數。

          Ø       getServletContext()返回一個servletContext()對象,

          Ø       getServltName():返回servlet的名字,即web.xml中的<servlet-name>的子元素的值。如果沒有配置這個子元素,則返回servlet類的名字。

          例子:

          <servlet>

              <servlet-name>actionServlet</servlet-name>

              <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

              <load-on-startup>0</load-on-startup>

           <init-param>

                 <param-name>color</param-name>

                 <param-value>red</param-value>

              </init-param>

              <init-param>

                 <param-name>size</param-name>

                 <param-value>16</param-value>

              </init-param>

             

            </servlet>

            <servlet-mapping>

              <servlet-name>actionServlet</servlet-name>

              <url-pattern>*.do</url-pattern>

            </servlet-mapping>

          如上,紅色標記處為初始化參數,相當于公有參數。

          servlet中:

          public class UserDateBaseServlet  extends HttpServlet{

                String color = this.getInitParameter("color");

                String size = this.getInitParameter("size");

                System.out.println("顏色是:"+color+"字號是:"+size);

          }

          注:HttpServlt類繼承了GenericServlet類,而GenericServlet類實現了ServletConfig接口,因此在HttpServlet類和GenericServlet類及子類中都可以直接調用ServletConfig接口中的方法。

           servletconfig和servletcontext的區別
          ServletConfig就是獲取一個<Servlet></Servlet>的信息
          而ServletContext則包含Web.xml里面所有的信息
          ServletConfig是獲取該servlet的配置信息
          每一個servletconfig對應一個servletservlet之間不共享數據的
          request是瀏覽器發給服務器的
          http://localhost:8080/Userinfo/servlet/str=''-----------------------------這個事干嗎的啊

          posted on 2010-09-15 22:08 曉玲 閱讀(127) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 潮安县| 江达县| 会泽县| 那坡县| 东宁县| 博野县| 西乡县| 大悟县| 交口县| 开平市| 台北县| 土默特右旗| 汨罗市| 亚东县| 会泽县| 江口县| 盐亭县| 新营市| 余庆县| 鄱阳县| 吉安市| 临江市| 突泉县| 二连浩特市| 荥阳市| 封丘县| 清河县| 柯坪县| 来宾市| 大同市| 凯里市| 故城县| 保山市| 教育| 陕西省| 克什克腾旗| 长沙市| 乐都县| 德惠市| 全椒县| 开平市|