連載
» 2009年04月07日 00時00分 公開

MySQLの常識を知りセットアップしてJSPからDB操作Webアプリの常識をJSPとStrutsで身につける(8)(4/4 ページ)

[眞野寿彦,株式会社メセナ・ネットコム]
前のページへ 1|2|3|4       

Beanファイルはどうなっているか

 次に、「login」フォルダに「form」フォルダを作成して、「LoginForm.java」を作成します。

LoginForm.java
import org.apache.struts.action.ActionForm;

public class LoginForm extends ActionForm {

    private String id;
    private String name;
    private String password;

    /**
    *
    * @return
    */

    public String getName() {return name;}
    /**
    *
    * @param name
    */

    public void setName(String name) {this.name = name;}

    /**
    *
    * @return
    */

    public String getPassword() {return password;}
    /**
    *
    * @param password
    */

    public void setPassword(String password) {
        this.password = password;
    }

    /**
    *
    * @return
    */

    public String getId() {return id;}
    /**
    *
    * @param id
    */

    public void setId(String id) {this.id = id;}
}

 いままでの連載でたびたび登場してきた「Bean」とは何かについてですが、このLoginForm.javaがBeanに当たります。しかし、今回は説明を割愛させていただき次回解説します。

「struts-config.xml」の編集

 最後に、「C:\PKG\Hello\WEB-INF」配下の「struts-config.xml」を以下のように編集します。

<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE struts-config PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
  "http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
  <!-- =================================== Form Bean Definitions -->
  <form-beans>
    <form-bean name="HelloForm" type="hello.form.HelloForm" />
<!-- ここから追加 -->
    <form-bean name="LoginForm" type="login.form.LoginForm" />
<!-- ここまで追加 -->
  </form-beans>
  <!-- ============================ Global Exception Definitions -->
  <global-exceptions></global-exceptions>
  <!-- ============================== Global Forward Definitions -->
 
 <global-forwards></global-forwards>
  <!-- ============================== Action Mapping Definitions -->
  <action-mappings>
    <action attribute="HelloForm" input="/pages/Who.jsp"
      name="HelloForm" path="/hello" type="hello.HelloAction"
      scope="session" validate="true">
      <forward name="success" path="/pages/Hello.jsp" />
    </action>
<!-- ここから追加 -->
    <action
      attribute="LoginForm"
      input="/pages/Login01.jsp"
      name="LoginForm"
      path="/Login"
      type="login.LoginAction"
      scope="session"
      validate="true">
      <forward name="success" path="/pages/Login02.jsp" />
    </action>

<!-- ここまで追加 -->
  </action-mappings>
  <!-- ========================== Message Resources Definitions -->
  <!-- ================================= Plug Ins Configuration -->
  <!-- =========================================== Tiles plugin -->
  <!-- ======================================= Validator plugin -->

</struts-config>

おわびと訂正のお知らせ

上記struts-config.xmlに加え、web.xmlにも追記が必要なため以下の記述を追加しました。

内容について正確を期せずに混乱を招いた点、読者の皆様におわび申し上げます(2011年8月2日)。


 また、「C:\PKG\Hello\WEB-INF」配下の「web.xml」にも以下のように追記が必要です。

<web-app>
  <servlet>
    <servlet-name>LoginAction</servlet-name>
    <servlet-class>login.LoginAction</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginAction</servlet-name>
    <url-pattern>/LoginAction</url-pattern>
  </servlet-mapping>


【略】


  <resource-ref>
    <res-ref-name>jdbc/mysql</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref>
</web-app

 これで、すべての設定作業は完了です。

DBに登録した情報を表示してみよう

 では、動作を確認しましょう。連載第2回と同様に、Eclipseを起動します。次に、[プロジェクト・エクスプローラー]の「Hello」を選択して右クリックをして、[リフレッシュ]を選択します。Eclipseで[プロジェクト]の[クリーン]を選択して、Helloプロジェクトのコンパイルが完了したら、Eclipse上から「Tomcat起動」アイコン(猫マーク)を押して、Tomcatを起動してください。

 正常に起動したことを確認したら、Webブラウザで「http://localhost:8080/hello/pages/Login01.jsp」にアクセスしてください。すると、図6のような画面が表示されます。

図6 サンプルのログイン画面 図6 サンプルのログイン画面

 先ほど登録したデータを取得するため、IDとパスワードを入力してログインボタンを押してください。

図7 DB参照結果を出力 図7 DB参照結果を出力

 すると、DBに登録した情報(name)を取得して画面に表示しているのが、分かると思います。

次回は、BeanとO/Rマッピングについて

 今回のプログラムでは、データベースへ接続するための情報を「server.xml」のコンテキスト(Context)に定義しているため、流用でほかのプログラムを作成することも可能です。ぜひ試してみてください。

 次回は、DB操作において重要なO/Rマッピングについて解説します。また、今回説明できなかったBeanについても次回解説します。

 今回作成したサンプルはこちらからダウンロードできます。

プロフィール

眞野 寿彦(まの としひこ)
株式会社メセナ・ネットコム所属

SEとして充実した日々を送っている。現在はStrutsを使ったWebアプリケーション開発を担当中。「信頼されるプロジェクトマネジャー」を目指し、自分に必要なことを常に考え、行動し、「真の技術者」として日々成長している。

趣味はボウリング、ビリヤード、ダーツ
尊敬する人はティム・バーナーズ=リー



前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。