「Java8」web.xmlでinit-paramを設定しServlet初期化時にパラメータを渡す
環境
JavaSE1.8
Eclipse 4.14.0
構文
1.パラメータを受け取る
@Override public void init(ServletConfig config) throws ServletException { config.getInitParameter(パラメータ名)
2.パラメータを設定
<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); } }
2.web.xmlの定義
書式
<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>