(27)【サーバサイドの作成】

hirossy19772007-02-11


アドレス帳サンプルアプリの続きです。

では、今回はサーバーサイドを作成します。
同一プロジェクト内で、パースペクティブjavaに切り替え、新規javaクラスを作成します。
ソースはWEB-INF/src内にパッケージつきで作成されます。
今回作成するファイルはサービスクラスとValueObjectです。

サービスクラス
(データベースなど)若干省略していますが・・・。これはこれでちゃんと動きます。

package address.service;
import java.util.HashMap;
import java.util.Collection;
import java.util.Map;
import address.vo.Address;
/**
 * リモートサービスクラス
 */
public class AddressService {
    private static Map<String,Address> map = new HashMap<String,Address>();
    private static int count = 0;
    /**
     * 追加
     */
    public int insert(Address dto){
        dto.setAddressid(Integer.toString(++count));
        map.put(dto.getAddressid(),dto);
        return 1;
    }
    /**
     * 修正
     */
    public int update(Address dto){
        map.remove( dto.getAddressid() );
        map.put(dto.getAddressid(),dto);
        return 1;
    }
    /**
     * 削除
     */
    public int remove(Address dto){
        map.remove(dto.getAddressid());
        return 1;
    }
    /**
     * 全件検索
     */
    public Collection<Address> select(){
        return map.values();
    }
}

ValueObject(DTO)クラス
AS側のValueObjectとプロパティを合わせましょう。

package address.vo;
import java.io.Serializable;
public class Address implements Serializable{
    private static final long serialVersionUID = 1L;
    /* ID(AutoIncrement) */
    private String addressid;
    /* 氏名 */
    private String name;
    /* 住所 */
    private String address;
    /* 電話番号 */
    private String telno;
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getAddressid() {
        return addressid;
    }
    public void setAddressid(String addressid) {
        this.addressid = addressid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTelno() {
        return telno;
    }
    public void setTelno(String telno) {
        this.telno = telno;
    }
}

次回は、remoting-config.xmlの設定です。