「Java8」web.xmlでinit-paramを設定しServlet初期化時にパラメータを渡す
環境
JavaSE1.8
Eclipse 4.14.0
構文
1.パラメータを受け取る
@Override
public void init(ServletConfig config) throws ServletException {
config.getInitParameter(パラメータ名)
@Override
public void init(ServletConfig config) throws ServletException {
config.getInitParameter(パラメータ名)
@Override public void init(ServletConfig config) throws ServletException { config.getInitParameter(パラメータ名)
2.パラメータを設定
<init-param>
<param-name>パラメータ名</param-name>
</init-param>
<init-param>
<param-name>パラメータ名</param-name>
</init-param>
<init-param> <param-name>パラメータ名</param-name> </init-param>
使用例
1.Servletの定義
package com.arkgame.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CftServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException { //initメソッドをオーバーライド
//パラメータ「USER」を受け取る
String user = config.getInitParameter("USER");
System.out.println("ユーザー名: " + user);
//パラメータ「PWD」を受け取る
String pwd = config.getInitParameter("PWD");
System.out.println("パスワード: " + pwd);
}
}
package com.arkgame.servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CftServlet extends HttpServlet {
@Override
public void init(ServletConfig config) throws ServletException { //initメソッドをオーバーライド
//パラメータ「USER」を受け取る
String user = config.getInitParameter("USER");
System.out.println("ユーザー名: " + user);
//パラメータ「PWD」を受け取る
String pwd = config.getInitParameter("PWD");
System.out.println("パスワード: " + pwd);
}
}
package com.arkgame.servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CftServlet extends HttpServlet { @Override public void init(ServletConfig config) throws ServletException { //initメソッドをオーバーライド //パラメータ「USER」を受け取る String user = config.getInitParameter("USER"); System.out.println("ユーザー名: " + user); //パラメータ「PWD」を受け取る String pwd = config.getInitParameter("PWD"); System.out.println("パスワード: " + pwd); } }
2.web.xmlの定義
書式
<init-param>
<param-name>パラメータ名</param-name>
<param-value>パラメータの値</param-value>
</init-param>
<init-param>
<param-name>パラメータ名</param-name>
<param-value>パラメータの値</param-value>
</init-param>
<init-param> <param-name>パラメータ名</param-name> <param-value>パラメータの値</param-value> </init-param>
web.xml の <servlet> タグ内で、 <init-param> タグを設定すると、 Servlet 初期化時に任意のパラメータを渡します。
使用例
<servlet>
<servlet-name>CftServlet</servlet-name>
<servlet-class>com.arkgame.servlet.CftServlet</servlet-class>
<init-param>
<param-name>USER</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>PWD</param-name>
<param-value>ark66</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>CftServlet</servlet-name>
<url-pattern>/initparam</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CftServlet</servlet-name>
<servlet-class>com.arkgame.servlet.CftServlet</servlet-class>
<init-param>
<param-name>USER</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>PWD</param-name>
<param-value>ark66</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>CftServlet</servlet-name>
<url-pattern>/initparam</url-pattern>
</servlet-mapping>
<servlet> <servlet-name>CftServlet</servlet-name> <servlet-class>com.arkgame.servlet.CftServlet</servlet-class> <init-param> <param-name>USER</param-name> <param-value>admin</param-value> </init-param> <init-param> <param-name>PWD</param-name> <param-value>ark66</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>CftServlet</servlet-name> <url-pattern>/initparam</url-pattern> </servlet-mapping>