コマンド
プリプロセス
文字列リソース
エラー処理
例外
アプリケーションのビルド
antタスク
featはウェブシステムのためのフレームワークです。開発の手間をできるだけ省こくとと、エンジニアとウェブデザイナの作業を分離することが目的です。
featはウェブサイトをフィーチャーという単位に分割して定義します。フィーチャーに含めるのは一つの機能だけです。例えばログイン機能、メッセージ送受信機能、商品リスト機能などです。機能に関連したコマンド(後述)、ブラウザに返されるレスポンスなどをひとまとめにしてフィーチャーに定義します。一つのフィーチャーに定義する機能をどれくらいの規模にするかは設計者に任せます。コピーライト表示のようなウェブページの一部となるもの、ウェブメールなどのように一つのアプリケーションになるくらい大きな機能もフィーチャーとして定義できます。
featはテンプレートエンジンも持っています。このテンプレートエンジンはHTML4.01の定義どおりのHTMLをテンプレートとして使うことができます。独自のヘンテコなタグや本文中に(ウェブデザイナから見たら)理解不能なスクリプトを埋め込む必要がありませから、テンプレート作成のために特別なソフトや知識を必要としません。テンプレートはHTML中のタグにid属性やclass属性を付けるだけで作ることができます。
ダウンロードしたソースパッケージを展開します。
build.template.propertiesをコピーしてbuild.propertiesというファイルを作ります。build.propertiesのプロパティbuildlib.j2eeをJ2EEのライブラリのあるディレクトリに設定します。
入手したソースコードの先頭ディレクトリ(build.xmlファイルのある場所)に移動しantを実行します。
> ant
カレントディレクトリのfeat-1_0.jar(バージョンによってファイル名が変わります)が作成されたバイトコードです。
ソースコードからビルドするかバイナリ リリースのパッケージから取り出したfeat-1_0.jarをアプリケーションのWEB-INF/libに含めてください。
また、featが使用するライブラリは展開したパッケージのlibにありますので、この中のJARファイルを必要に応じてアプリケーションのlibにコピーしてください。
featで作成したアプリケーションへのリクエストはすべてfeat2.ActionServletが受け取ります。web.xmlにサーブレットとサーブレットマッピングを設定する必要があります。
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>feat2.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/feat-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.cmd</url-pattern>
</servlet-mapping>
ActionServletには初期化パラメータがあります。configパラメータで設定ファイルを指定できます。デフォルトは/WEB-INF/feat-config.xmlです。
<servlet-mapping>の<url-pattern>は注意が必要です。featはActionServletへのリクエストURIが
http://ドメイン名/アプリケーション名/フィーチャー名/コマンド名.cmd
という形式であることを期待します。
ウェブアプリケーションの名前です。featではとくに制限はありません。/(ルート)でも問題ありません。
コマンドがどのフィーチャーのものかを特定します。フィーチャー名は、フィーチャー設定ファイルで設定します。
フィーチャー設定ファイルで定義したコマンドの名前です。コマンド名のあとの拡張子は<url-pattern>で指定できるパターンなら何でも良いのですが、名前の最後のピリオド以降を切り捨てたものがコマンド名となるのでピリオドは拡張子の前だけにしておいたほうが無難です。
$Id: index.html 220 2007-07-16 10:32:15Z sugimotokenichi $