Init-paramとcontext-paramの違いを簡単に説明します
3652 ワード
最近init-paramとcontext-paramの違いを見て、苦労してやっと理解して、分かち合います:init-paramとcontext-paramはすべてwebです.xmlではキー値対で定義される変数で、init-paramはservletラベルに定義され、context-paramはweb-appラベルに定義されています.例は次のとおりです.init-paramを定義します.
param-nameを定義するには:
context-paramの使用方法:context-paramはwebの下に配置するため、コンテキストパラメータに属し、環境全体で使用可能であり、getServiceletContext対像に格納されるため、使用方法はgetServiceletContext()である.getInitParameter(「user」)は、次のようになります.
init-paramの使用方法:init-paramはservletに配置するため、あるservletに属し、getServertConfigに格納されるため、使用方法は:getServertConfig()である.getInitParameter(“user1”); 現在のservletクラスに属するため、getServiceletConfig()の代わりにthisを使用します.getInitParmeter(「user 1」)は、次のようになります.
まとめ:context-paramはすべてのservletで使用できます.init-paramは現在のservletでのみ使用できます.現在のservletで使用しない場合はnullの値をとります.
<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の値をとります.