Top
2-8. サーバに配置する


Documentation

2-8. サーバに配置する

Mayaa を使うアプリケーションをアプリケーションサーバに配置する際に必要なことを説明します。

ページを置く場所

Mayaa はリクエストされたファイルを次の順番で探します。(例: http://localhost:8080/mayaa/index.html にアクセスされた場合)

  1. コンテキストルートの下 (例: C:\tomcat\webapps\mayaa\index.html)
  2. /WEB-INF/page の下 (例: C:\tomcat\webapps\mayaa\WEB-INF\page\index.html)
  3. クラスパス (例: C:\tomcat\webapps\mayaa\WEB-INF\classes\index.html)

2, 3 番目は、Mayaa を通さなければアクセスできない場所ですので、MayaaServlet の設定を間違えている場合や MayaaServlet のみ異常終了した場合に、直接テンプレートの HTML ファイルを表示してしまうことを防げます。

設定でこのパスを追加できます

■標準のディレクトリ構成

Mayaa の標準設定では下記のようになっています。Mayaa が動作するために必要なファイルはこれで全部です。

コンテキストルート
  + WEB-INF/
    + lib/
      - commons-beanutils-core-*.jar
      - commons-logging-*.jar
      - jaxen-*.jar
      - mayaa-*.jar
      - nekohtml-*.jar
      - rhino-*.jar
      - xercesImpl-*.jar
      - xml-apis-*.jar
    - web.xml

web.xml の書き方

Mayaa の基本的な使い方は、MayaaServlet を定義しページを返すときに forward する使い方です。JSP に forward する場合と同じです。従って、Mayaa に任せるファイル (一般的には *.html) を MayaaServlet にマッピングする設定を行います。

■MayaaServlet を設定する

拡張子が .html の HTML ファイルのみを Mayaa に任せる場合、次のように設定します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
    <servlet>
        <servlet-name>MayaaServlet</servlet-name>
        <servlet-class>org.seasar.mayaa.impl.MayaaServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MayaaServlet</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>
</web-app>

Mayaa はリクエストされたファイルの Mime-Type が html、xhtml、xml であるか、もしくは拡張子が .mayaa である場合に処理を行います。それ以外であれば前述のパス解決を行ったあと、そのまま素通しします。他の Servlet やアプリケーションに処理を任せるものがなければ、すべての URL を Mayaa に任せることもできます。

    <servlet-mapping>
        <servlet-name>MayaaServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
Copyright (c) 2004-2009 the Seasar Foundation and others. all rights reserved.