作りながら学ぶJavaアプリケーションフレームワーク (8)
WINGSプロジェクト 高江 賢 [著] 山田 祥寛 [監修] 2009/08/24 14:00

サンプルファイル 5087.44 KB

 本連載では、オープンソースのサーバサイドJava向けWebアプリケーション・フレームワーク「Struts 2」を、実際に動作するアプリケーションと共に解説していきます。第8回目の本稿は、連載のひと区切りということで、ある程度まとまった機能をもつサンプルを紹介することにします。

1 2 3 4 →

はじめに

 「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーションフレームワークです。本連載では、そのStrutsの次世代バージョンであるStruts 2を、実際に動作するアプリケーションと共に解説していきます。

 第8回目の本稿は、連載のひと区切りということで、ある程度まとまった機能をもつサンプルを紹介することにします。今回もStruts 2のバージョンは2.1.6、「Zero Configuration」の形式です。また前回同様、データベースはMySQL、データベースのO/Rマッピングフレームワークには、ActiveObjectsを使用しています。

対象読者

 サーバサイドJava(JSP&サーブレット)について基本的なことは理解している方を対象とします。

ToDoアプリケーション

 前回のアプリケーションを発展させて、シンプルなToDoアプリケーションを作ってみることにします。「ToDo」とは、やるべき事柄をメモしたもので、ごくかんたんな予定表や備忘録とも言えるでしょう。

 メイン画面は、次のようになります。見たとおりGUIは、最低限のものです。

メイン画面
メイン画面

画面遷移

 画面構成はシンプルで、「ToDo」の表示、登録、削除を行うメインの画面、ログイン画面、ユーザー登録画面となります。

画面遷移
画面遷移

 各機能を使用するには、ユーザー単位でログインが必要です。ログインが済んでいない状態でメイン画面を呼び出すと、まずログイン画面が呼び出されるようになっています。

ログイン画面
ログイン画面

 ただし最初はユーザーが登録されていませんので、まずは、新規ユーザーの文字をクリックして、ユーザーの登録を行います。

ユーザー登録画面
ユーザー登録画面
ユーザー登録完了
ユーザー登録完了

 その後ログインをクリックすると、すぐにメイン画面になります。

ToDo一覧メイン画面
ToDo一覧メイン画面

 ToDoメッセージの追加は、次のようにテキストボックスに入力して、「Add TODO」ボタンをクリックします。

ToDo追加
ToDo追加

 ToDoメッセージを削除するには、チェックボックスにチェックを入れて、「Finish」ボタンをクリックします。

ToDo一覧例2
ToDo一覧例2
ToDo一覧例3
ToDo一覧例3

ファイル構成

 全体のファイル構成は、次のようになります。todo.actionパッケージにはActionクラス、todo.daoパッケージにはDAO (Data AccessObject)クラスが含まれています(todo.toolパッケージには、Struts 2の日本語処理不具合に対応するためのクラスがあります)。contentフォルダ以下に、すべてのJSPファイルを置いています。

 <ContextRoot>
 ├ /WEB-INF
 │ ├ /classes
 │ │ ├ /todo.action
 │ │ │ └ 各Actionクラス(Control)
 │ │ │
 │ │ ├ /todo.dao
 │ │ │ └ 各DAOクラス(Model)
 │ │ │
 │ │ ├ /todo.tool
 │ │ └ struts.xml
 │ │
 │ ├ /content
 │ │ └ 各JSPファイル(View)
 │ │
 │ ├ /lib
 │ │ └ 参照ライブラリー
 │ └ web.xml
 └ index.jsp
ファイル一覧
パッケージ、フォルダJava/JSPファイル概要
todo.actionToDoAction.javaToDoメインアクション・クラス
ToDoLoginAction.javaログイン・アクション・クラス
ToDoUserEntryAction.javaユーザー登録アクション・クラス
ToDoBaseAction.java基本アクション
todo.daoTodoDao.javaToDoメッセージDAOクラス
TodoList.javaToDoメッセージEntityクラス
LoginDao.javaログインDAOクラス
LoginModel.javaログインモデル・クラス
User.javaユーザーEntityクラス
BaseDao.java基本DAOクラス
todo.toolFixString.java日本語処理暫定処理クラス
contentlist.jspToDoメッセージ一覧表示
entry.jspToDoメッセージ登録フォーム表示
login.jspログインフォーム表示
usrentry.jspユーザー登録フォーム表示

1 2 3 4
→
INDEX
Struts 2入門(8)~Struts2で構築するToDoアプリケーション~
Page1
はじめに
対象読者
ToDoアプリケーション
Actionクラスの構造
Actionメソッドの処理
まとめ
参考資料
プロフィール
WINGSプロジェクト 高江 賢 タカエ ケン

WINGSプロジェクトについて>
有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2011年7月時点での登録メンバは36名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。


プロフィール
山田 祥寛 ヤマダ ヨシヒロ

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。
主な著書に「入門シリーズ(サーバサイドAjax/XMLDB/PEAR/Smarty)」「独習シリーズ(ASP.NET/PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET/PHP/Jakarta/JSP&サーブレット/XML)」「Pocket詳解辞典シリーズ(ASP.NET/PHP/Perl&CGI)」「今日からつかえるシリーズ(PHP/JSP&サーブレット/XML/ASP)」「書き込み式 SQLのドリル」他、著書多数


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト