自己紹介
社会人5年目 JavaやPHPでWebって
ます
愛車:スバル インプレッサWRX STI
お金がかかる・・・
エンタメ系サービスがやりたい!
ネットワーク勉強しなきゃ!
プロマネ勉強しなきゃ!
趣味は車でお出かけ、テニス、カート
お金がかかる・・・
松下幸之助、井深大、盛田昭夫などアツ
い人物が好き
プロジェクトXはヤバイ
ロータリー47士の闘い ~夢のエンジ
ン・廃墟からの誕生~
目次
1.当セッションについて
6.MVCとStruts1
2.作るもの
7.Struts1で書くと
3.Servletで書くと
4.JSPで書くと
5.処理順序
8.MVCとStruts2
9.Struts2で書くと
10.次回予告
11.メモ
当セッションについて
目的
一人で小規模なWebアプリを一式作れるようになること
目標
フレームワークを使った開発にはどんなメリット/デメリットがあるかを理解する
Webアプリのフレームワークである「Struts2.0」の基本に触れてみる
対象者
言語やフレームワークの違いによる開発アプローチの違いを知りたい
JavaやStrutsの言葉は知っているけど、いざWebアプリを位置から作ろうと思ってもど
うしたらいいかわからない
アーキテクチャと今回の対象範囲
下図はJavaで作るWebアプリの一般的なソフトウェアアーキテクチャです。
赤字が今回勉強する範囲
掲示板(Webアプリ)
Apache
(Webサーバー)
Struts
(フレームワーク)
Tomcat
(サーブレットコンテ
ナ)
Commonsライブラリ※
その他ライブラリ
(ライブラリ・コンポーネント)
MySQL
PostgreSQL
Oracle
(データベース)
Java(実行環境・開発環境)
Windows/Linux
(OS)
※ Apache Commonsプロジェクトにより提供されている再利用可能なJavaコンポーネント。
メール送信、ファイルアップロード、java.langクラスの拡張、ロギング、HTTP通信など
様々。低レベルな層でやりたいことは大抵ここにある。何かの問題にぶち当たったら、まず
ここを眺めてみると良い。http://commons.apache.org/
前提
ここで述べている事はあくまで一例。解法はいくらでもある
し日々進化する。
こういう技術の進歩は早いのですぐ陳腐化するが、基本思
想は変わっていない事も多い。つまり新技術の登場やバー
ジョンアップしても、古い技術はそれらの理解の助けになり、
習得が容易になる。
ツッコミや質問
本セッションへのツッコミや質問は「楽しいアプリ制作の会」
公式サイト[http://tanoapp.tworks.jp/]
にて随時受け付けます。
作るもの
今回は、掲示板を題材にしてプログラムを書いてみます。
1) Sevletで書くと・・・
2) JSPで書くと・・・
3) Struts1系で書くと・・・
4) Struts2系で書くと・・・
Servletで書くと
掲示板(Webアプリ)
Apache
(Webサーバー)
Struts
(フレームワーク)
Tomcat
(サーブレットコンテ
ナ)
Demo
Commonsライブラリ
その他ライブラリ
(ライブラリ・コンポーネント)
Java(実行環境・開発環境)
Windows/Linux
(OS)
MySQL
PostgreSQL
Oracle
(データベース)
JSPで書くと
掲示板(Webアプリ)
Apache
(Webサーバー)
Struts
(フレームワーク)
Tomcat
(サーブレットコンテ
ナ)
Demo
Commonsライブラリ
その他ライブラリ(Jakarta Standard 1.1
Taglib)
(ライブラリ・コンポーネント)
Java(実行環境・開発環境)
Windows/Linux
(OS)
MySQL
PostgreSQL
Oracle
(データベース)
処理の流れ
MVCとStruts1
出典:「Javaの道」<http://www.javaroad.jp/>(2009.1.30)
出典:「ITpro」
<http://itpro.nikkeibp.co.jp/article/COLUMN/20051107/224077/?SS=imgview&FD=2638409>(20
09.1.30)
Struts1で書くと
掲示板(Webアプリ)
Apache
(Webサーバー)
Struts 1.3.10
(フレームワーク)
Tomcat
(サーブレットコンテ
ナ)
Demo
Commonsライブラリ
その他ライブラリ(Jakarta Standard 1.1
Taglib)
(ライブラリ・コンポーネント)
Java(実行環境・開発環境)
Windows/Linux
(OS)
MySQL
PostgreSQL
Oracle
(データベース)
MVCとStruts2
出典:「CodeZine」
<http://codezine.jp/article/detail/2296?p=2> (2009.1.30)
Struts2で書くと
掲示板(Webアプリ)
Apache
(Webサーバー)
Struts 2.1.6
(フレームワーク)
Tomcat
(サーブレットコンテ
ナ)
Demo
Commonsライブラリ
その他ライブラリ(Jakarta Standard 1.1
Taglib)
(ライブラリ・コンポーネント)
Java(実行環境・開発環境)
Windows/Linux
(OS)
MySQL
PostgreSQL
Oracle
(データベース)
処理の流れ
出展:Codezine
http://codezine.jp/article/detail/3264(2009.2.28)
インターセプターとは?
Actionの実行前に呼ばれる
バリデーションやログイン処理など、ビジネスロジックと
は関係なしに事前に行いたい処理を実装する
バリデータ
Struts1
Validator.xml設定ファイルに記述
Validatorメソッドをオーバーライド
Struts2
上記2つに加えてアノテーションが使えるようになった
クラス単位、アクセッサ単位で定義
ただし、Validatorメソッドオーバーライドはフォームからアクショ
ンクラスに
今後の予定
もう少しStruts2の機能に注目してみよう
新しくなったカスタムタグ
Springとの連携
いろいろ調べて発見したStruts2のアツい仕様の紹介
メモ
アノテーション
リフレクション
デザインパターン
DI (Dependency Injection)コンテナ
POJO (Plain Old Java Object)
ダウンロード

メインセッション Struts 2.0によるWebアプリ開発