スーパーアジャイルなJAVA、SAStrutsの基本構成を知る(アクションクラス)


OverView

  1. 前回はhelloプロジェクトを作成しました。
  2. そしてゴミゴミとしたjarも整理しました。
  3. 今回は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”にも注目してください。

ここでブラウザに表示する画面を指定しています。

細かいことは後で出てきますので、とにかく

「アクションクラスで返す画面を指定する」

を覚えておきましょう。

 

 

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です