「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>

 

Java

Posted by arkgame