Init-paramとcontext-paramの違いを簡単に説明します

3652 ワード

最近init-paramとcontext-paramの違いを見て、苦労してやっと理解して、分かち合います:init-paramとcontext-paramはすべてwebです.xmlではキー値対で定義される変数で、init-paramはservletラベルに定義され、context-paramはweb-appラベルに定義されています.例は次のとおりです.init-paramを定義します.
  <servlet>
    <servlet-name>ReadContextservlet-name>
    <servlet-class>file.ReadContextservlet-class>
    <init-param>
        <param-name>user1param-name>
        <param-value>user1-psparam-value>
    init-param>
  servlet>

param-nameを定義するには:
  param>
    <param-name>userparam-name>
    <param-value>userparam-value>
param>

context-paramの使用方法:context-paramはwebの下に配置するため、コンテキストパラメータに属し、環境全体で使用可能であり、getServiceletContext対像に格納されるため、使用方法はgetServiceletContext()である.getInitParameter(「user」)は、次のようになります.
    public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
        String user=getServletContext().getInitParameter("user");
        System.out.println(getServletContext().getInitParameter("user"));
        System.out.println(user);       
    }

init-paramの使用方法:init-paramはservletに配置するため、あるservletに属し、getServertConfigに格納されるため、使用方法は:getServertConfig()である.getInitParameter(“user1”); 現在のservletクラスに属するため、getServiceletConfig()の代わりにthisを使用します.getInitParmeter(「user 1」)は、次のようになります.
    public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException{
        String user=getServletContext().getInitParameter("user1");
        System.out.println(getServletConfig().getInitParameter("user1"));
        // this.getInitParmeter("user1");
        System.out.println(user1);      
    }

まとめ:context-paramはすべてのservletで使用できます.init-paramは現在のservletでのみ使用できます.現在のservletで使用しない場合はnullの値をとります.