OverView
- 前回はhelloプロジェクトを作成しました。
- そしてゴミゴミとしたjarも整理しました。
- 今回はSAStrutsのフレームワークが提供する
ファイル構成や各ファイルの役割の基本を説明します- アクションクラス
- アクションフォーム
- エンティティ
- サービス
できあがったプロジェクトを眺める
まず、Eclipseのプロジェクトエクスプローラで
Doltengが自動作成したファイルを確認しましょう。
Dolteng…SAStrutsプロジェクトを作るときに選択しました。
SAStruts用のプロジェクトを作成するモノの理解しましょう。
きっと起源は沖縄のドゥル天ですよね。あれ美味しいよね。
すでにいくつかフォルダとファイルが作成されています。
簡単に説明すると こんな感じになります
各フォルダにそれぞれ役割があることがわかりますね。
Strutsやその他FrameWorkに慣れていない人はなんじゃこれ?かもしれませんが
今のところはまだ細かく覚える必要はありません。
やっていけばだんだん理解できると思います。
アクションクラス
ではまず、アクションクラスというものを説明します。
アクションクラスは、ブラウザにURLを入力して実行した時、
最初に呼び出されるjavaの処理となります。
だいたいの流れです。
アクションクラスの配置
アクションクラスはsrc/main/javaのプロジェクト名.actionの下に置きます。
デフォルトでIndexAction.javaが作成されていますね。
こんな感じでXxxxxxAction.javaのように名前をつけるルールになっています。
で、この名前ですが大事な名前になります。
というのも、ブラウザからWEBサイトを呼び出す時、URLを入力しますよね。
このアクションクラスの名前がURLになるのです。
SAStrutsで作成したWEBサイトは
http://ホスト名/プロジェクト名/アクションクラス名/実行メソッド名
でアクセスすることとなります。
(アクションクラス名はURLでは先頭も自動的に小文字になります)
例えばMemoAction.javaとすると
http://ホスト名/プロジェクト名/memo
というURLでアクセスできます。
なお、IndexAction.javaという名前だけは特殊で
http://ホスト名/プロジェクト名/指定なし
で自動的に呼び出されるアクションクラスとなります。
アクションクラスの中身
ではプロジェクトエクスプローラからIndexAction.javaを
ダブルクリックして開いてみましょう。
/* * Copyright 2004-2008 the Seasar Foundation and the Others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package hello.action; import org.seasar.struts.annotation.Execute; public class IndexAction { @Execute(validator = false) public String index() { return "index.jsp"; } }
この中で
@Execute(…
public String index() {
return “index.jsp”;
}
の部分だけを覚えておいてください。
public String xxxxxx() のxxxxxxの部分はメソッド名です。
メソッドの直前に@Execute…という文字がついていますね。
これはアノテイターというもので、このメソッドは特別なメソッドだ、とマークするものです。
@Execute…がついているメソッドは「実行メソッド」と呼ばれURLの一部になります。
先ほどの
SAStrutsで作成したWEBサイトは
http://ホスト名/プロジェクト名/アクションクラス名/実行メソッド名
でアクセスすることとなります。
のやつですね。
つまり、このindexというメソッドを呼び出す正確なURLは
http://ホスト名/hello/index/index
となります。しかし、indexはアクションクラス・実行メソッドで省略できるので
http://ホスト名/hello/
でも接続できます。
あと、return “index.jsp”にも注目してください。
ここでブラウザに表示する画面を指定しています。
細かいことは後で出てきますので、とにかく
「アクションクラスで返す画面を指定する」
を覚えておきましょう。