Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Struts 2入門(8)~Struts2で構築するToDoアプリケーション~

作りながら学ぶJavaアプリケーションフレームワーク (8)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/08/24 14:00

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

目次

はじめに

 「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.action ToDoAction.java ToDoメインアクション・クラス
ToDoLoginAction.java ログイン・アクション・クラス
ToDoUserEntryAction.java ユーザー登録アクション・クラス
ToDoBaseAction.java 基本アクション
todo.dao TodoDao.java ToDoメッセージDAOクラス
TodoList.java ToDoメッセージEntityクラス
LoginDao.java ログインDAOクラス
LoginModel.java ログインモデル・クラス
User.java ユーザーEntityクラス
BaseDao.java 基本DAOクラス
todo.tool FixString.java 日本語処理暫定処理クラス
content list.jsp ToDoメッセージ一覧表示
entry.jsp ToDoメッセージ登録フォーム表示
login.jsp ログインフォーム表示
usrentry.jsp ユーザー登録フォーム表示

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

  • WINGSプロジェクト 高江 賢(タカエ ケン)

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

バックナンバー

連載:作りながら学ぶJavaアプリケーションフレームワーク

もっと読む

おすすめ記事

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5