ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

サーブレットの初期パラメータ(InitParameter)の表示

機能概要

 サーブレットの初期パラメータには、web.xmlのInit-Paramの値があります。 この値は、getInitParameterを使って取得できます。

画面構成

 サーブレットを実行すると、以下のような画面が表示されます。

サーブレットの初期パラメータ×
web.xmlのInitParameterの表示
keyval
key01val01
key02val02

ソースプログラムの作成

 web-xmlのInit-Paramの値を、getInitParameterを使って取得し、表示しています。

ParamServlet.java
// Copyright (C)1995-2002 ASH multimedia lab. http://ash.jp/
package jp.ash.example;

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

/** 初期パラメータ表示サーブレット **/
public class ParamServlet extends HttpServlet {
  public void service (HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
    PrintWriter out;
    Enumeration enum;
    String key, val;

    res.setContentType("text/html; charset=Shift_JIS");
    out = res.getWriter();

    out.println("<html><body>");
    out.println("<h1>サーブレットの初期パラメータ</h1>");

    out.println("<h2>web.xmlのInitParameterの表示</h2>");
    enum = getInitParameterNames();
    if (enum != null) {
      out.println("<table border=\"2\">");
      out.println("<tr><th>key</th><th>val</th></tr>");
      while (enum.hasMoreElements()) {
        key = (String) enum.nextElement();
        val = getInitParameter(key);
        out.println("<tr><td>"+key+"</td><td>"+val+"</td></tr>");
      }
      out.println("</table>");
    }

    out.println("</body></html>");
  }
}

デプロイメント記述子(web.xml)の修正

 デプロイメント記述子(web.xml)にサーブレットを登録します。 また、サーブレットの初期パラメータとして、Init-Paramの値を設定します。 Init-Paramの値は、キーとなるnameとその値のvalueを指定します。

web.xmlの変更内容
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 1.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>

  <servlet>
    <servlet-name>ParamServlet</servlet-name>
    <servlet-class>jp.ash.example.ParamServlet</servlet-class>
    <init-param>
      <param-name>InitKey01</param-name>
      <param-value>InitVal01</param-value>
    </init-param>
    <init-param>
      <param-name>InitKey02</param-name>
      <param-value>InitVal02</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>ParamServlet</servlet-name>
    <url-pattern>/ParamServlet/*</url-pattern>
  </servlet-mapping>

</web-app>


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp