教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之ServletConfig詳解

更新時(shí)間:2016年04月26日10時(shí)55分 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

1.ServletConfig

ServletConfig是一個(gè)接口,它代表的是Servlet的配置信息,對(duì)應(yīng)著web.xml文件中的<servlet>標(biāo)簽。想要獲取Servlet的一些配置信息,例如,Servlet的名字就可以通過調(diào)用ServletConfig的一個(gè)方法來獲得。
我們知道,當(dāng)瀏覽器第一次訪問Servlet的時(shí)候,服務(wù)器會(huì)創(chuàng)建該Servlet的實(shí)例,然后調(diào)用init(ServletConfig config)方法對(duì)Servlet進(jìn)行初始化,其實(shí)在調(diào)用init方法之前,服務(wù)器已經(jīng)根據(jù)當(dāng)前Servlet在web.xml的配置信息創(chuàng)建了一個(gè)ServletConfig對(duì)象,最后在調(diào)用init()方法時(shí)將該對(duì)象作為參數(shù)傳遞給init()方法。
下面通過一張圖來描述ServletConfig的一些特性,如圖1-1所示:
                                  圖1-1 ServletConfig介紹
通過圖1-1對(duì)ServletConfig的描述,可以看出web.xml文件中每一個(gè)<servlet>元素都對(duì)應(yīng)一個(gè)ServletConfig對(duì)象。
經(jīng)過以上對(duì)ServletConfig對(duì)象的介紹,我們需要掌握以下幾點(diǎn):
  • ServletConfig實(shí)例是由Tomcat服務(wù)器創(chuàng)建,然后作為參數(shù)通過init()方法傳遞給Servlet;
  • ServletConfig中封裝的是Servlet的配置信息,可以通過它來獲取web.xml文件中<servlet-name>標(biāo)簽的內(nèi)容等其他配置信息。
  • 一個(gè)Servlet類對(duì)應(yīng)一個(gè)ServletConfig對(duì)象

2.ServletConfig具體功能介紹

接下來,我們查看ServletConfig的API,通過API來深入了解該對(duì)象。如圖1-2所示:

圖1-2 ServletConfig API
由圖1-2可看出,ServletConfig接口有四個(gè)抽象方法,下面我們來分別介紹這四個(gè)方法,如表1-1所示:
方法名 方法說明
String getInitParameter(String name) 該方法是通過參數(shù)名獲取Servlet在web.xml文件中配置的初始化參數(shù)。
Enumeration  getInitParameterNames() 該方法是獲取Servlet在web.xml文件中配置的所有初始化參數(shù)的名稱。
ServletContext  getServletContext() 該方法是獲取ServletContext對(duì)象,后面會(huì)詳細(xì)講解該對(duì)象。
String  getServletName() 該方法是獲取Servlet在web.xml文件中配置的名稱,即<servlet-name>元素的內(nèi)容。
為了更好的掌握ServletConfig對(duì)象,下面通過一個(gè)例子來詳細(xì)了解ServletConfig對(duì)象的方法的使用,詳細(xì)信息請(qǐng)參考ServletConfig案例詳解,點(diǎn)擊下載源代碼,具體如下所示:
(1)創(chuàng)建一個(gè)web應(yīng)用,取名為Example10,再創(chuàng)建一個(gè)類ServletThree,實(shí)現(xiàn)Servlet接口,然后在web.xml文件中配置信息,如例1-1所示:
例1-1 web.xml
  <servlet>
  <!—初始化參數(shù)配置 -->
  <init-param>
  <!-- 參數(shù)名 -->
  <param-name>name</param-name>
  <!-- 參數(shù)值 -->
  <param-value>zhangsan</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
  <param-value>123</param-value>
  </init-param>
  <servlet-name>ServletThree</servlet-name>
  <servlet-class>cn.itcast.servlet.ServletThree</servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>ServletThree</servlet-name>
  <url-pattern>/ServletThree</url-pattern>
  </servlet-mapping>
由例1-1可知,我們?cè)?lt;servlet >標(biāo)簽中配置初始化參數(shù),格式如例1-1所示,參數(shù)名為“name“、”password“,參數(shù)值分別為”zhangsan“、”123“ 。
(2)在ServletThree類中,對(duì)init()方法進(jìn)行修改,在init()方法中獲取初始化參數(shù),主要代碼如圖1-2所示:
例1-2 init方法
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init()......");
       System.out.println("init param name =:"+servletConfig.getInitParameter("name"));
       System.out.println("servlet name is:"+servletConfig.getServletName());
//獲取所有的初始化參數(shù)名稱     
Enumeration e=servletConfig.getInitParameterNames();
       while(e.hasMoreElements()){//遍歷所有初始化參數(shù)名稱
           System.out.println("initParam name:");
           System.out.println(e.nextElement());
       }
    }
(3)將Example10發(fā)布到Tomcat中,然后啟動(dòng)Tomcat服務(wù)器,在瀏覽器端地址欄輸入http://localhost:8080/Example10/ServletThree,控制臺(tái)打印結(jié)果如圖1-3所示:

圖1-3 控制臺(tái)運(yùn)行結(jié)果
如圖1-3所示,控制臺(tái)打印了init()方法中的具體實(shí)現(xiàn),通過ServletConfig對(duì)象獲得了在web.xml文件中配置的初始化參數(shù)并打印在控制臺(tái)上。通過本案例,我們對(duì)ServletConfig對(duì)象的方法有了一定的了解,在以后的學(xué)習(xí)中,ServletConfig對(duì)象最常用的方法是getServletContext()。




本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://oisangadgets.com/javaee 
0 分享到:
和我們?cè)诰€交談!