SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

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

 本連載では、オープンソースのサーバサイド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 ユーザー登録フォーム表示

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Actionクラスの構造

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
作りながら学ぶJavaアプリケーションフレームワーク連載記事一覧

もっと読む

この記事の著者

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4214 2009/08/24 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング