web.xml配置之context-param詳解

原文地址:https://blog.csdn.net/jixinhuluwa/article/details/48003203

讀完本文,你將瞭解(1)<context-param>的作用和用法,(2)<context-param>配置和<init-param>的區別

<context-param>的作用和用法:

1.<context-param>配置是是一組鍵值對,比如:

 <context-param>
        <param-name>home-page</param-name>
        <param-value>home.jsp</param-value>
    </context-param>

param-name是鍵,相當於就是參數名,param-value是值,相當於參數值

2.當服務器啓動時,服務器會讀取web.xml配置,當讀到<listener></listener>和<context-param></context-param>這兩個節點的時候,容器會將這兩個節點set到ServletContext(上下文對象)中,這樣我們在程序中就能通過這個上下文對象去取得我們這個配置值。

具體代碼實現:

String sHomePage = getServletContext().getInitParameter("home-page");

通過上面這句代碼,我們就可以取得web.xml中配置的home.jsp這個值。

說白了,他就相當於設定了一個固定值,我們可以在程序中去使用它。就這麼個作用。

注:我看到很多文章都是把它和監聽一起說的,寫說這個配置在監聽中怎麼用。我要說的他並不是爲了監聽去設定的。程序中的所有servlet可以利用這個值,我在這裏強調一下這一點,希望大家不要被誤導

<context-param>配置和<init-param>的區別:

<servlet>
        <servlet-name>ServletInit</servlet-name>
        <servlet-class>com.sunrain.datalk.wserver.util.servlet.ServletInit</servlet-class>

        <init-param>

                  <param-name>home-page</param-name>
                 <param-value>home.jsp</param-value>

        </init-param>
  </servlet>

1.我們可以看到<init-param>是放在一個servlet內的,所以這個參數是隻針對某一個servlet而言的

所以他們的區別就有點像全局變量和和局部變量的<context-param>是針對整個項目,所有的servlet都可以取得使用,<init-param>只能是在那個servlet下面

配置,就在那個servlet裏面調用

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章