...

1 - 森北出版

by user

on
Category: Documents
3

views

Report

Comments

Transcript

1 - 森北出版
「Web アプリケーション構築入門(第 2 版)」
サンプルページ
この本の定価・判型などは,以下の URL からご覧いただけます.
http://www.morikita.co.jp/books/mid/084732
※このサンプルページの内容は,第 2 版 1 刷発行時のものです.
URL
http://www.morikita.co.jp/soft/84732/
監修者より
本書 ,青山学院大学理工学部情報
実験Ⅰ
業
教科書
,
代表
開発
意識
,
技術
組合 ,統合
,
能力 求
本
.
取 上
,総合演習
間
仮想
.
環境
充実
.HTML5
激
変化
状況
当然
,本書
.
Web 開発 取 巻 状況 大
移行
者 途方 暮
重点 置
位置
4 年 経過 ,
発刊
側
,実践的
,
言語
本学科 ,情報工学 基礎 同様 ,応用力
初版
授
.
C,C++,Java,PHP
,
開始
概念形成
Web
養成 両方 目標
基礎
書
3 年次演習科目「情報
.2002 年度
企画・執筆
MVC
構築
現代
学科
進
,
総称
前
.
側
次世代技術
導入
始
Web 技術 学
,
.
変化
学習者
学習
,本書
.
本書
理的
,Web 開発
特徴
説明
悩
関
幅広
技術
紹介
文字化
構成要素
問題
,
変化
,Web 開発
.
,
「文字
文字
何
,原
」
原理的
話
学習者
始
,Web
具体的 設定方法 確認
解決
.
,幅広
知識
丁寧
,最良
最後
,本書
熱心 励
惜
演習授業
具体的
解説
本書
地点
補佐支援
森北出版 塚田真弓氏 心
Web 技術 学
,
.
助手,大学院生
礼申 上
皆
,
.
2011 年 3 月
監修者 佐久田 博司
i
改訂版について
初版 発行
広
扱
約 4 年 経過 ,本書
書籍
何冊
出版
」
扱
書籍
.初版
不満
,
,
部分的
動
「
」
」
大
特徴
表現 ,明確 伝
(形容矛盾!)
採用
.
,本書 改訂
OS
2. 統合開発環境
GNU/Linux(Ubuntu)
,Eclipse
他
扱 例 増
7. XML
Twitter API
9. MySQL
言語
文字
10. 郵便番号検索
「創作物
自分 意図
.著者
重視
教材 ,教科書
動
」
原則
方法 紹介
,Java
他
発生
Ĺ VirtualBox 3.2, 4.0(仮想化
)
Ĺ Apache HTTP Server 2.2(
)
)
Ĺ NetBeans 6.9.1(統合開発環境)
Ĺ Eclipse 3.5.1(統合開発環境)
利用方法 紹介
.
.
採用
PHP
.
学習手順 採用
)
.
.
挙
対応
)
管理
.
.
,本書
Ĺ MySQL 5.1, 5.5(
.
.
試
以下
Ĺ GlassFish 3(
.
.
Google Maps
Ĺ Firefox 3.6(
導入
採用
関連
新
改
Windows,Mac OS X
例 ,外部 API
改訂版 主 利用
ii
.
含 ).
処理
JSON
側
8.
(Ajax
一般的 解説 追加
6. HTTP
話題
,以下
NetBeans
,jQuery
5. Google Maps API
,
「幅広
.
開発 現状 対応
3. JavaScript
4. JavaScirpt
限定
.
具体的 内容 ,
1.
範囲
.
掲載
,
「実際
話題 幅
問題 遭遇
」
,動
,
「扱
,今度
載
完全 制御
守
述
解消
形
,他 創作活動
振 舞
開発 関係
.
改訂版
Ĺ Java 6 (1.6)(
Ĺ PHP 5.3(
Ĺ jQuery 1.5.0(JavaScript
言語)
言語)
)
Ĺ XAMPP 1.7.3(Windows
Ĺ Ubuntu 10.04(
)
)
Ĺ Windows XP, Vista, 7(
Ĺ Mac OS X 10.6(
)
)
2011 年 3 月
著 者
iii
はじめに
本書
急
識 学
(
人
.以下 該当
Ĺ 基本的
方
気
Ĺ
作 方 知
Java
Ĺ Eclipse
統合開発環境 使
Ĺ MySQL
勉強
PHP
情報系 学生.
.
.
理解
Ĺ
.
文字化
MySQL
Ĺ 国際化 対応
解決
.
開発 基本 知
作成
.
.
使
Ĺ 文字
勧
周辺知
.
Ĺ 実践的 例
初歩
) 基礎
,総合的
知識
学習
.
要求
.
情報技術(IT)
言語
組
合
使
.
私
,
総合的 演習
.
制作方法 解説
,残念
,私
点 不満
Ĺ 動作 OS
情報 少
.
文字
膨大 参考文献
.
.
限定
Ĺ
.
.
人
Ĺ 開発環境 貧弱
,HTML 等 規格 対
用意
不満 解消
,
挙
.
配慮 足
.
文献 読
入門時
,
,参考文献
学習 効率 高
科書 作
拘
1.4 節 説明
.詳
Ĺ 扱 範囲 限定
学
教科書 探
数多 出版
求
,既存 書籍 次
Ĺ
書籍
扱
.
,
,
教
.
,本書 ,週末 急
作
,学
iv
人
.他 入門書 比
多
印象 持
.
,
開発 「1 週間
.
,
急
同意
考文献
」
思
10 年
.次
—Peter Norvig
.本書自体
行
「10 日
学
独習
私
」
3日
話
.
1)
読
,C 言語 基礎
知
,参
方
1年
楽
.
質問 要望 ,著者([email protected])
本書
送
(http://www.morikita.co.jp/soft/84732/) 対応
.
,本書 掲載
公開
.
.
2007 年 7 月
著 者
謝辞
Ĺ 本書 執筆
機会 与
青山学院大学 佐久田博司教授(@ajiro)
Ĺ 青山学院大学理工学部情報
2005 年
多
学科
2010 年 受講
間違
本書
学生 皆
反映
Ĺ 資料収集 手伝
森誠
,犯
数
小川武史教授,伊藤一成博士,大野博之
,松井田有加
,伊藤
,矢吹光佑
熊谷朋哉
,辻賢
,鈴木功太
田中慶樹
,株式会社 OPQ
,藤
,株式会社
,渡部伸
Ĺ 改訂版 草稿 査読
大門和斗
湯田雅
,筒井達郎
(@miyayuta)
立一郎
,渡邉貴志
(@ryuchanchan)
(@kxx_srg)
,喜多唯
(@Ortauts)
,田中諒
(@Meaue)
,
(@ryodas0789)
,向高
(@timwata)
,今田智大
(@tom_k1004)
,
(@yamo11),松田源立博士
Ĺ 初版 改訂版 両方 査読
齋藤智也
(@hereticreader),和木康祐
Ĺ
作
(@code6119),石川有
(@KOSUKEwwwwwww),辻真吾博士(@tsjshg)
作
方々,
無料 提供
無料
方々,
作
Ĺ
提供
方々
轟木亜紀子
Ĺ 著者
Ĺ
質問
青山学院大学 小嶋敬子
,狩屋翔
山本努
(皆
実験Ⅰ」
)
Ĺ 初版 草稿 読
,中川裕
演習科目「情報
聞
遊
森北出版株式会社 塚田真弓
環境 育
家族
Ĺ 執筆活動
以上 方々 感謝
高宗一惠
.
.
著者(@yabuki)
1) http://www.yamdas.org/column/technique/21-daysj.html
v
目 次
第1章
1
本書 目指
1.1
1.2 本書 読 上
................................ 1
何 ,
....................................................................
注意
3
知識 .............................................................. 5
1.4 本書 意義 ................................................................................... 7
................................................................................ 11
1.5
1.3 本書 前提
第2章
15
開発環境 構築
2.1 開発環境 概要 ............................................................................. 15
2.2 仮想
構築 .......................................................................... 16
PHP ......................................................... 20
統合開発環境 ............................................................... 22
2.3 Apache HTTP Server
2.4 GlassFish
2.5
第3章
3.1
作成 ....................................................................... 25
30
書 方
............................................................................. 30
3.2 HTML 入門 .................................................................................. 31
3.3 統合開発環境
利用 .................................................. 34
主 要素 ......................................................................... 35
3.5 HTML Validator ........................................................................... 37
............................................................................. 42
3.6
3.4 HTML
第4章
上 動作
4.1 JavaScirpt 書 方 ....................................................................... 51
4.2 jQuery ......................................................................................... 52
4.3 JavaScript
C 言語 違
............................................................. 54
JavaScript 動作 調査 ............................................ 55
4.5 Google Maps API ......................................................................... 56
4.4 Firebug
vi
51
目 次
第5章
61
通信方式
5.1 HTTP ......................................................................................... 61
...................................................................... 66
5.2 HTTP
5.3 Twitter API ................................................................................. 71
第6章
76
生成
生成 ................................................................... 77
生成 ................................................................... 82
6.1 Java
6.2 PHP
内容 取得 .................................................................... 83
................................................................................... 89
6.3
6.4
第7章
92
操作
管理
必要性 .................................................. 92
7.2 MySQL ....................................................................................... 93
7.3
作成 ........................................................ 96
7.1
7.4 MySQL
7.5
..................................................................... 100
文字
操作 ................................................................................ 101
7.6 phpMyAdmin ............................................................................... 106
7.7 SELECT 文 詳細 ......................................................................... 108
7.8
.............................................................. 110
7.9
................................................................................ 111
7.10 複数
構成
関数 ....................................................... 126
7.11 MySQL
第8章
権 ........................................................... 129
利用 .................................................................... 130
8.2
8.4
認証 ................................................................................... 138
........................................................... 143
第9章
9.3
145
実例
.................................................................... 145
9.1 郵便番号
9.2 GET
129
利用
8.1
8.3
....................................... 114
検索 ........................................................................... 148
検索 ....................................................................... 150
9.4 Google Maps API
.............................................. 152
検索 .......................................................... 154
.................................................................
9.6 Model, View, Controller
155
9.5 Ajax
vii
目 次
付録 A
C
Java
164
A.1 Hello World! ................................................................................ 164
......................................................................... 166
A.2
A.3 例外 ........................................................................................... 170
............................................................................... 171
A.4
........................................................................................ 176
A.5
付録 B
何
...................................................................... 183
文字集合 使
............................................................. 184
B.1 文字
B.2
B.3 文字
B.4
索 引
viii
183
文字
統一 ......................................................................... 186
.............................................. 189
利用
文字
192
本書の目指すもの
CHAPTER
1
本書
作 方 学
何
.類書 多
疑問
.
作 方 ,
,
.本章
,
学
中 ,本書 意義
答
.
.
何 ,
1.1
(
比較 説明
何
.通常
.
,
見
図 1.1
)
上 情報 公開
.情報
作成 ,
方法 一
公開
人(制作者)
上 置
.
送信
重要
,
,
形式
情報
書
.
要
.
提示
単純
)
制作者
作
.
(以下
,
(閲覧者) ,
通知 ,閲覧 要求(
求
.
,
側
総称)
(
)
.
リクエスト
クライアント
(ウェブブラウザ)
ウェブサーバ
ウェブ
ページ
ユーザ
図 1.1
上
情報公開
情報
方法
,
.
一
,
異
複雑
要求 対
限
公開
閲覧
返
.要求 受
,
可能
,
作
生成 ,
返
.
可能
.
図 1.2
動的 生成
.処理 必要
,
格納
1
第1章
本書 目指
クライアント
(ウェブブラウザ)
ウェブアプリケー
ションサーバ
データベース
ユーザ
図 1.2
一般的 ,
一般的
管理
管理 請 負
.
「
」
少 説明
.
構成
(Database Management System, DBMS)
関
,
(
) 例
,
.
,今
広 普及
(
上
)
.
最 重要
次
2点
利点
利用
必要
,
動
簡単
2.
場合
1)
最初 点 特 重要
.
対
問
.
,
・
.今日
携帯電話
標準的
形 作成
利用可能
搭載
,
携帯電話
.
欠点
.
速度
,動作 全体的 遅
接続
欠点
3)
使
貧弱
3.
4)
.
上
実装
,後
Adobe AIR,Silverlight
.
.
,
,
1) Java FX
.
.
.
2)
2.
OS
,新
,
1.
,
.
接続
1.
利用
利用 想定
価値
上
.新
学
利用
RIA(Rich Internet Application)
問題
2) 「一度
書
動作
(Write Once, Run Anywhere, WORA)
」
開発 一
理想 ,
言語 Java
理想 掲
登場
.皮肉
動作環境
携帯電話
考
,Java
理想 達成
.
,Java
技術 支
,
理想 達成
当
3)
前 今日
,
,
言
.
欠点
.
4) JavaScript 等
解消
2
改善
.
試
続
,将来
欠点
1.2 本書 読 上
,
修正
,
phpMyAdmin
必要
.
上
,
注意
,7.6 節
管理
遠隔操作 必要
第1章
紹介
操作
人
,使
.
,
「
可能
,
技術 ,
間
枠組
限
」
複雑
一般的
用
.
1.1.1
少
話
広
,
考
(World Wide Web, WWW, Web)
.
普及 速度 驚異的
場所
.地上 限
,人類 到達
利用
一
.
利用形態
,狭義
,広義
同 意味
.
上
膨大
知識
蓄積
,日々新
展開
5)
人間 間
.
.
知識 蓄積
人間
何
,
価値
.
,
,
重要
(知識
,
人類 営
重要 要素
学
1.2
本書 読 上
本書 目的
入門書
7)
,
重要 構成要素
.
,入門的
扱
脚注
.初
.全体像 把握
把握
,各章
違
5)
.
,初読時
飛
.
掲載
,人間
含
無視
注意書
先決
冒頭
事柄
,
. 」
.「飛
(
.
注意
本書
全体像
)6) .
簡単 分離
活用
対
上
総称
).
,両者
明確
区別
.
6)
視点
,検索,
.同著者 『Web 情報
・
, 第 2 版, 2003)
深
考
場合
—
7) 脚注 初
無視
上
—最適
情報
,Morville『
・
旅』
(
・
, 2006) 参考
構築
論理的
』
(
方 考
際 必読書
.
.
3
第1章
本書 目指
.読
進
,自分
戻
.
枠
1.2.1
本書
太線
利用
記述
引
際
際 ,以下 四
示
,利用場面
灰色
背景
,
JSP,PHP
黒
側
.
.
形式
記述
記述
.
.
(後述)
操作
.
操作
形式
記述
作業
.
.
形式
側
,
使 分
.
書 換
一部
細線 囲
,
HTML CSS,JavaScript,Java
背景
,
背景
,
左端
実際
何
.
1.2.2
字体 左上
,字形 「\」
少変
形 使
他
1.2.3
円記号 区別
違
.本書
,GNU/Linux
Ubuntu 10.04 LTS
上 開発環境 構築
異
可能性
,
「
区別
」
,設定方法 動作
.
必要
,Ubuntu
」,Mac
場合 「
9) 本書 執筆時点
Ubuntu 最新
LTS(Long Term Support)版
,
「Ctrl+
字形
」
.Mac
注意
使 場合 ,本文中 右
,
「
」
別
画像
場合
,深刻 違
操作
「端末」,Windows
4
本書
形態(
想定
入力
8)
)
.日本 通貨記号(円記号「ě」
) 同 字
形
.他
Mac
多
.
Mac
)
「
(使用書体
注意
Windows
本書
斜線 使
,
8)
使
9)
右下
.
」 読 替
円記号
10.10
採用
.
.
,10.04
.
期間 特別 長
1.3 本書 前提
本書
URL
中
上
変
資料
紹介
併
URL
,URL
場合
上
見
,
資料
.
検索
際
知識
使
,資料
第1章
掲載
.
資料 閲覧
検索
,新
URL
.Internet Archive10)
見
資料
.
英語 書
規格文書 参照
.日本語訳
正式
,利便性 考
規格
日本語訳
,正式
必要
URL
場合
紹介
,原文
当
.
1.3
本書 前提
知識
本書 読者
次 前提知識
想定
Ĺ
(
説明
検索
方法
何
).
Ĺ
基本的
操作
,圧縮
(
展開
Ĺ C 言語 基本的 文法 知
1.3.1 前提
.
含 .).
.
C 言語 知識
C 言語 文法
少 詳
説明
.
,C 言語(
本書 前提
文字列
詳
書
知識 必要
)
.
十分
C++
,K&R
Java) 基本的 知識
(知
11)
第 1 章「
.
良
入門」
.
例 挙
.
何
,値 0
初期化
.
int s = 0;
整数型 変数 s
宣言
次
.
.
int a[] = {1, 3, 5};
a
配列
数
).
宣言
For 文
,初期化
.a[2]
値
5
(配列
添
字
0
.
10) http://www.archive.org/
11) Kernighan
『
言語 C』(共立出版, 第 2 版, 1989)
5
第1章
本書 目指
for (int i = 1; i <= 100; i++) {
s += 1;
}
変数 s
値
1 以上 100 以下 整数 和
If-Else 文
.
.
if (s % 2 == 0) {
printf("even\n");
} else {
printf("odd\n");
}
変数 s
割
2
余
表示
“odd”
0(
割
2
切
)
,
“even”
.
最後 関数
.
int sum(int start, int end) {
int s = 0;
for (int i = start; i <= end; i++) {
s += i;
}
return s;
}
,整数 start
説明
読
和 返 関数
end
意味
(先述
,本書
K&R 第 1 章 十分
C 言語 学
,2
読
C 言語 復習
前
入門書
Java
Java 6)以降 対応
(Java
.
).
,C 言語
,Java 1.6(
.
.使 方
読
,
薄 本 選
表現方法
注意
1.5」 「Java 5」,「Java 1.6」 「Java 6」
.「Java
).
知識
1.3.2 Unix
Ubuntu
Unix 系
Mac
知識 多少
習
」
本書
,
利用
使
操作 意味
準備
「何
,
OS
.
Unix
学習
意識
作業 進
Unix 系
,
大変
学
,
操作 部分 ,
挙
入力
.詳
,
使
方
知
検索
.
Unix
参照
学
場合
,
.
12) http://www.lpi.or.jp/linuxtext/text.shtml
6
,Unix
.
表 1.1
名」
「man
本書 内容 試 際
『Linux 標準教科書』12)
場合
1.4 本書 意義
表 1.1 本書
apt-get
権
chown
所有者
find
検索
冒頭
head
行
変更
変更
表示
LZH 形式
作成・展開
文字
nkf
改行
変換
実行
sh
管理者権限
sudo
実行
編集
vi
1.4
Unix 系
管理
chmod
lha
利用
Ubuntu
第1章
(
)
本書 意義
「
」 述
制作方法
,私
学
,次
教科書
点
,情報系 総合的 演習
探
.候補
不満 感
Ĺ 幅広 話題 扱
Ĺ 開発環境 貧弱
詳
.
.
文字
説明
動
.
限定
Ĺ
.
書籍 掲載
Ĺ 発展的 事柄 紹介
Ĺ 動作 OS
,HTML 等 規格 対
必 学
人 ,
次
対話
CSS.
記述
JavaScript.
処理 記述
Ĺ
蓄積
Ĺ
要素
言語.
13)
管理
合
話題
,個々 話題 扱
軽
大切
13) 多
入門書
,
以外
,
管理
場面
,
1冊
,
.
動
.
方法.
1冊 本
.
,
制作
HTML
上 動作
側
.
.
画面 記述
Ĺ
Ĺ
配慮 足
.
入門課程 修了
Ĺ
書籍
完全 動 形 掲載
学
.
,幅広 話題 扱
管理
,強力
,実際
単
書籍 大部分 ,動
保管
役割
.使
担
.
7
第1章
本書 目指
試
形
用途
掲載
向
入門 必要 話題
解説
難
既存 書籍 使
,
向
目標 掲
学習
,実際 動
,本書 執筆
,他
入力
,指示
目標
,
作
.掲載
手順
動
達成 難
.
,次
言語 知識 足
2. 開発環境 貧弱
非常 複雑 実装
作成
知識
1 番目 問題「
言語
知
Java
,
知識
分厚
人
挫折
起
知 ,Java
挫折
抽象度
Java
足
」
知識 必要
Java
買
.
.
言語
知
.
.
説明
1.4.1
.
.
4.
以下 詳
自力
.
設計方法 知
3.
,
問題 発生
挫折
,開発 困難
解決
試
.
問題
段階
1.
5. 文字化
,入門
.
,
詳
,知識 整理
,
高
勉強
制作
分厚 教科書
教育 ,C 言語
始
,
,
現実
言語 知
.実際,今日
,
「C 言語
.
.
言語
一
」
,以下
問題
起
.
作
3 種類
言語 使
(図 1.3).
Ĺ
側 利用
言語(Java
Ĺ
側 利用
Ĺ
操作
JavaScript.
SQL.
クライアント
(ウェブブラウザ)
ウェブアプリケー
ションサーバ
JavaScript
Java (PHP, Perl,
Ruby, or Python)
図 1.3
本書
,
一
利用
8
作
側 利用
提案
.C 言語
).
PHP, Perl, Python, Ruby
言語
知
SQL
必要
,Java
.
データベース
言語
PHP
制作
人
,Java
採用
題材
勉強
.
Java
分厚
入門教材
教科書
通読
1.4 本書 意義
必要
.Java(
,
抽象度 高 言語)
題材
,
最適
補助的 資料
(付録 A
思
14)
.
大
問題
,多
通
読者
JavaScript
手軽
.
,
.
,時間 余裕
側
処理 本質
,両者 特徴
.
側
言語 比較的簡単 置 換
他
15)
代用
三
言語 必要
,
大切
,多
作成
,適切 選択
言語
制作
.
Java
.
,実際
,PHP
,
読 進
,両方 試
,
比
推奨
Java
,PHP
考慮
,本書 大部分
,先 述
一方 選
理解 深
開発
読者
.Java
学
,
,Java
使
Java
印象
PHP
.本書
章 設
,Java
試
PHP
仕様 整理
Java
思
Java」
.特
問題 理由
,Java
一
学
).
欠点
公開
新
,
「C
参照
使
Java
第1章
.
,SQL
,
.
言語自体
,
背後
考 方 理解
.
1.4.2 貧弱 開発環境
2 番目 問題「開発環境 貧弱
起
開発環境
発環境 比較
,
.
貧弱
,今日一般的 利用
.早
,便利 開発環境
,
苦労
」 ,適切 開発環境 与
.一部 入門書 ,
利用
同
.
,開発 困難
開発 最先端
電卓 使
,身
計算能力 身
知識
遠
,入門書 段階
,途中
恐
指向
,Java
14) VPS(Virtual Private Server)
問題 解決
.
言語
形
開
.
,
安価 利用
,
動
,Flash
Java
,
動
.Java
使
,Flash
,一部
動作
不安要因
.Google Web Toolkit
(http://code.google.com/webtoolkit/)
側 Java 書
試
,
側 JavaScript 使
試 (
JavaScript)
,SQL
Java JavaScript
汎用
言語 置 換
.
15)
側
9
第1章
本書 目指
開発
.
本書
,Java
用
開発
Development Environment, IDE)
有名
Eclipse
強力
NetBeans
,NetBeans
統合開発環境(Integrated
利用
方
.Java
開発
Platform, Enterprise Edition) 最新版 対応
本書
推奨
NetBeans
思
.
読 替
同時
PHP
提供
,Eclipse
動作確認
,Eclipse
Java EE(Java
,Java
Windows,Mac 用
GNU/Linux
言
IDE
,
利用
読者
.Eclipse
慣
多
人 ,適宜
.
1.4.3 複雑 実装
3 番目 問題「
実装
設計方法 知
」 起
,入門書
,
正規化
)
決
,
拡張 容易
仕方
作成
,
枠組
,
,
雑
扱
.入門書
少 大
,実装 手 負
複
以上
学
扱
人
情報」
,
.
多
入門書
事柄
提供
独自
拡張
,
「
,MVC
,本書 扱
構築 保守,
簡単
.
本書
,
設計方法 ,入門書 最初
.入門書 性格上,手軽
話題 提供
.
MVC,
合
,
場合,最初 覚
方法
見方
設計方法(
.
簡単
非常 複雑
詳
.
説明
.
一部 ,本文
独立
.
1.4.4
4 番目 問題「
書
仕方
作成
済
.安全
簡単
構築
比
安全」
不可能
.
明
問題
本書
扱
例
難
,
,
.
使
載
,
「絶対
重大
,改善策 触
.
,
攻撃
,SQL
10
,
」 ,入門
構築
,
挿入攻撃
固定攻撃
対策
第1章
1.5
16)
.
対策
参考文献 紹介
.
1.4.5 文字化
5 番目 問題「文字化
解決
」 ,多
書
文字化
起
,
起
,失
戻
.
完全
視点
,文字
,必
.
過程
文字化
通
固定
.
設定
以外
問題 回避
Windows-31J
統一
UTF-8
確認
,
「
使
,特 国際化
本書 実践
設
意識
.
,Windows 環境
書籍 多 見
文字
把握
段階 超
文字
,文字
,一般 考
文字
,
」
,文字化
入門書
.
動
本書
一般
,多
要素
,利用
.
.
省略
常 意識
上 起
解決
失
定 簡単 済
.
設定 変
重大 問題
入門書 文字
立
文字
出会
止
理解
,適切
深
,
対応
.
1.5
基本
示
学
図 1.4
要素 組 合
実現
最初 強調
確認
クライアント
図 要素 対応
ションサーバ
⑥
Java, PHP
⑤ HTTP
図 1.4
(番号
簡単 説明
データベース
⑦
⑧
RDBMS
SQL
上
見
目
16)
,対策
本書
章
対応
)
(図中 番号 本書 章 対応
,
,
,
.
④JavaScript
形式
章
ウェブアプリケー
③HTML, CSS
ユーザ
説明
図
.何
(ウェブブラウザ)
Ĺ 第3章
.
,道 迷
,
各要素
.
具体的
CSS
表現方法 学
形式 記述
.表現
).
情報 ,HTML
.
(Cross Site Request Forgeries, CSRF)
割愛
.
,簡単
11
ウェブページの書き方
CHAPTER
3
上
見
目
表現方法 学
形式
CSS
.表現
記述
情報
.本章
形式 ,
HTML
二
形式
学
(図 3.1)
.
クライアント
(ウェブブラウザ)
ウェブアプリケー
ションサーバ
HTML, CSS
図 3.1 本書
学
データベース
:HTML
CSS
3.1
.本書 想定
(Chrome,Firefox,Internet Explorer,Opera,Safari
) ,
最新版
,
.逆 範囲 狭
,特定
1)
作
以上
動作
.
3.1.1 Firefox
学習 開発 利用
考
Firefox
最適
.
次
理由
.
Ĺ 無料 自由 使
Ĺ
.
開発 役立 多
Ĺ
限定
拡張機能 無料 自由 使
.
,GNU/Linux
.
Windows,Mac
動作
.
(http://mozilla.jp/firefox/)
Firefox
,
1) 本書 扱
快適 使
,
2)
30
2)
先 進
HTML
,
搭載
,
工夫
割愛
動作確認
Firefox
.
有効
特別 工夫 必要
,
.本書
.
,他
.
3.2 HTML 入門
最初
Ubuntu
実行
,端末
Firefox
,Firefox
第3章
次
最新版
Ubuntu
.
sudo apt-get update
sudo apt-get upgrade firefox
3.2
HTML 入門
HTML(HyperText Markup Language) 使
使
紹介
作 ,次
hello.html
(
)
.HTML
一般的
内容 保存
gedit3) ,Windows
,Ubuntu
「.html」
.
帳,Mac
拡張子 「.htm」
.
<html>
<body>
Hello World!
</body>
</html>
開
Firefox
,“Hello World!”
表示
.
3.2.1 見出 (Heading):h1–h6
hello.html
文字 大
表示
.HTML
<body>
.<html>
使
性質
記述
言
.
要素名 最初 「/」
呼
.
例
終了
,<h1>
h1 要素 文字 大
.開始
h1 要素
</h1>
表示
終了
大
,文字 大
,標準的
上位 見出
.
3) 端末
,h1 要素
「gedit hello.html」
h1 要素
」
,最上位 見出
.見出
表 要素
.
後
h1
.文字
大
起動
表示
,数字 小
h6
要素 上位
h2 要素
要素
.
.h1 要素 意味 「最上位 見出
意味
的
,
.
,< > 中 名前(要素名) 書
<h1>
語
「Hello World!」 「<h1>Hello World!</h1>」 変
順番 使
一般
h3 要素 使
.
.
31
第9章
実例
<?php
//
再現
準備
$paramq = ’’;
if (isset($_GET[’q’]))
$paramq = htmlspecialchars($_GET[’q’], ENT_QUOTES, ’UTF-8’);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>郵便番号検索
</title>
</head>
<body>
<form action="" method="get">
<p>
<input type="text" name="q" value=’<?php echo $paramq; ?>’/>
<input type="submit" value="search" />
</p>
</form>
<?php require(’zips.php’); ?>
</body>
</html>
検索
再現
点 ,検索自体 先 作成
require()
読 込
一度
書
演習:
9.4
検索
取 出
実行
zips.php
点 注目
(
,
,zips.php
同
).
,zipsform.php
実装
,動作
確認
.
Google Maps API
本節は初読時には飛ばしてもかまいません
郵便番号検索
4.5 節
9.4).
,
作
引数
肩
.
.
公開
組 合
関数
公開
乗
住所 与
目指
呼 出
記述
,
5)
問題
class 属性
.
利用
関数 drawMap()
,
,検索結果 表示
(4.2.2 項 参照)
.
側
処理
,PHP
簡単
(
側
)側
可能
割愛
実現
“address”
,結果 現
主要部分 以下 掲載
実装例
4.5.2 項 作
際 ,住所 部分
,$(".address:first").text()
住所 使
新
,
場所 地図 表示
addressmaps.js
住所 取 出
5) 本節 紹介
技術 使
,
(図
Google Maps
.世界中
,巨人
152
紹介
.
実装
.
.5.2.2 項
.
最初
紹介
第9章
9.4 Google Maps API
zipsform.jsp
154
search
zipsform.jsp?q=154
zipsform.jsp?q=154
154
search
154
search
検索結果
検索結果
<td class='address'>
東京都...
<td class='address'>
東京都...
</td>
</td>
1. ボタンが押されると
3. 結果をJavaScriptで読み取り
2. 画面が遷移する
4. 地図を表示する
図 9.4 郵便番号検索
Google Maps
Google Maps
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style type="text/css">
html, body { height: 100%; }
td { font-size: smaller; }
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.5.0");
</script>
<script type="text/javascript" src="addressmaps.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var address = $(".address:first").text();
drawMap(address); // 地図 生成
});
</script>
Google Maps API
</title>
<title>郵便番号検索
</head>
<body>
<form action="" method="get">
<p>
<input type="text" name="q" value=’<%= paramq%>’/>
<input type="submit" value="search" />
</p>
</form>
<div id="map_canvas" style="float: right; width: 50%; height: 90%;"></div>
<jsp:include page="zips.jsp" />
</body>
演習:上述
zipsmap.jsp
Google Maps
実装 ,動作 確認
zipsmap.php
.
作成
,郵便番号検索
.実行結果 図 9.5
.
153
第9章
実例
図 9.5 郵便番号検索
9.5
実行例
Google Maps
検索
Ajax
本節は初読時には飛ばしてもかまいません
作成
郵便番号検索
生成
.
操作
地図
使
技術
1 文字入力
,
問題
,
通信 行
.
,郵便番号
,
遷移
大
遷移
.JavaScript
送
.
.郵便番号検索
更新
使
,何
使
,Google Maps
内容
戻
遷移
,
Ajax
押
新
押
6)
,
Ajax
,検索結果
使
,
地図
遷移
総称
.
更新
.目標
.
,図 9.6
ウェブアプリケー
154
ションサーバ
検索結果
<td class='address'>
東京都...
Google Maps
1. テキストボックスが変化すると、
2. 検索結果だけが更新され、
3. 地図も更新される
</td>
(画面は遷移しない)
図 9.6 Ajax
次
6) 実
使
154
手順
実装
検索(図 9.4
比較
)
.
Google Maps 登場以前
,
遷移
.
地図
.
更新
,JavaScript
Google Maps
示
索 引
記号
’
41
”
41
.NET
13
¡
41
&
41
&amp;
41
&apos;
41
&gt;
41
&lt;
41
&quot;
41
\
4
ě
4
@Override
180
A
a
32, 190
ABS
127
Accept
62
Accept-Charset
62
Accept-Encoding
62
Accept-Language
62
Accept-Range
64
ACID
125
ACOS
127
ADDDATE
127
Adobe Reader
184
Adobe-Japan1-5
184,
185
Adobe-Japan1-6
184
Ajax
154
ajax
131
AJP
162
alt
36
ALTER TABLE
99,
113
ANALYZE
111
166
API 仕様
192
application
159
ArrayList
172
Arrays
175
ASCII
183
表
81
ASCII
ASIN
127
ATAN
127
AUTO_INCREMENT
99, 137
AUTOCOMMIT
125
AVG
124, 128
B
background-attachment
46
background-color
45,
46
background-image
46
background-position
46
background-repeat
46
Berners-Lee, Tim
39
BIT
99
BIT_COUNT
128
BLOB
99
blockquote
36
body
39
BOM
146
border
47
border-collapse
46
border-color
46
border-style
34, 46
border-width
45, 46
br
36
BuddhistCalendar
170
button
54
C
Calendar
170
caption
34
CASE
126
catch
171
CDATA
51
CEIL
127
CHAR
99
CHAR_LENGTH
126
characterEncoding
189
CID
184
class
43, 45
clear
46
click
54
CMap
184
Collections
175
color
45, 46
COMMIT
125
Comparable
181
Comparator
181
compare
181
CONCAT
126
Connector/J
131, 189
content
46
Content-Encoding
64
Content-Length
64
Content-Type
64
contentType
79
Cookie
62, 91
COS
127
COT
127
COUNT
128
CP932
188
CR+LF
145
CRC32
127
Create
HTTP
62
SQL
102
索 引
CREATE DATABASE
96
CREATE TABLE
98
CRUD
HTTP
62
SQL
101
CSRF
144
CSS
42
CSS3
47
CSV
146
CURRENT_DATE
27
CURRENT_TIME
127
CURRENT_TIMESTAMP
127
cursor
46
cut
118
5
C 言語
D
DATE
99
Date
64
DATEDIFF
127
DateFormat
170
DATETIME
99
DB2
96
DBMS
92
DCL
125
dd
32
DDL
125
DECIMAL
99
DEFAULT
99
DEGREES
127
DELETE
62, 106
HTTP
62
SQL
106
Derby
96
DESC
98, 109, 124
DESCRIBE
98
139
DIGEST 認証
display
46
DISTINCT
108
DIV
127
div
45
dl
32
DML
125
Dojo
52
DOUBLE
99
DROP DATABASE
DROP TABLE
98
dt
32
97
E
Eclipse
24
em
37
41
em
encodeURI
65
encodeURIComponent
65
41
en
114
ER 図
escape
65
ETag
62, 64
EUC-JP
183
EXP
127
EXPLAIN
112
EXTRACT
127
F
finally
171
find
7, 167
Firebird
96
Firebug
55
Firefox
30
FLOAT
99
float
46
FLOOR
127
font
43
font-family
46
font-size
43, 45, 46
font-style
45, 46
font-weight
46
FORMAT
128
FULLTEXT
112
function
55
G
Geocoder
59
GET
62
GlassFish
24, 78, 161,
187
GNU/Linux
15
Google Maps API
56
Google Web Toolkit
9
GRANT
129
Greasemonkey
51
GREATEST
127
GregorianCalendar
170
group
167
GROUP BY
108, 124
Guest Additions
19
H
h1–h6
31
HashMap
175
HashSet
174
HAVING
109, 124
head
7, 39, 187
height
46
HEX
126
Host
62
href
190
HTML
31
html
39
HTML Validator
37
HTML5
35, 40, 75, 187
HTTP
61
HTTPS
139
HttpSession
89
HttpURLConnection
69
HTTP
61,
66
Java
69
70
PHP
HTTP
62
HTTP
61
63
HTTP
I
IANA
187
id
45
IDE
10
IF
126
If-Modified-Since
62
If-None-Match
62
img
36
import
79
193
索 引
INDEX
112
Ingres
96
InnoDB
116, 125
INSERT
102
INSERT IGNORE
103
INT
99
INTEGER
99
Integer
85
INTO OUTFILE
110
ISO-2022
183
ISO-2022-JP
183
ISO-8859-1
183
ISO/IEC 10646
184
isset
87
Iterator
174
J
Java EE
13
JavaScript
8, 51, 60,
179
JavaServer Pages
78
JDBC
131
JDK
22
JIS X 0201
183
JIS X 0208
184
JIS X 0212
184
JIS X 0213
184
JIS X 0221
184
184
JIS 漢字
186
JIS 参照文字
join
118
jQuery
60
JSON
55
JSONP
75
JSON 処理
JavaScript
74
73
PHP
JSP
78, 156
K
K&R
KEY
5
112
Latin 1
183
LEAST
127
LEFT
126
LF
145
li
33
LIMIT
147
LinkedList
173
Linux
15
List
173
list-style-image
46
list-style-type
32, 46
LN
127
LOCATE
126
Location
64
LOG
127
LONGBLOB
99
LONGTEXT
99
M
Map
175
margin
46, 47
Matcher
167
MAX
128
MD5
128
MEDIUMBLOB
99
MEDIUMTEXT
99
MIN
128
MOD
105, 127
Mono
13
Monolithic JSP
156
MooTools
52
MVC
156
MyISAM
116
MySQL
93
mysql
95
MySQL Connector/J
131
mysqldump
111
MySQLi
135
MySQL 拡張
135
L
194
OAuth
138
ol
33
ON DUPLICATE KEY
103
OpenID
138
OpenType
184
OPTIMIZE
111
Oracle
96
ORDER BY
109, 124
out
80
P
p
32
padding
46, 47
page
159
pageEncoding
79
79
page
PATH
94
Pattern
167
PDO
135, 189
PDT
24
PEAR
70
PEAR DB
135
PEAR MDB
135
PEAR MDB2
135
PHP
82
phpMyAdmin
106
PI
127
POJO
156
position
46
POST
62
PostgreSQL
96
POWER
127
pre
36
PRIMARY KEY
99
Prototype
52
PUT
62
Q
q
36
R
N
LAMP
13
Last-Modified
O
64
NetBeans
23
NOT NULL
98
NULL
98
RADIANS
127
RAND
127
rawurlencode
65
RDB
93
索 引
RDBMS
93
Read
HTTP
62
SQL
103
ready
53
Referer
62
REPEAT
126
REPLACE
126
replaceAll
135
request
159
REST
161
RESTful
161
REVOKE
130
RFC
65
RFC 1149
65
RFC 2616
61, 65
RFC 3986
65, 191
RFC 4395
65
RFC 5321
61, 65, 169
RGB
45
ROUND
127
Ruby on Rails
13
S
SELECT
103, 108
Senna
112
Server
64
Servlet
77
session
159
Set
174
Set-Cookie
64
SHA1
128, 138
Shift_JIS
183
show
54
SHOW DATABASES
96
SHOW TABLES
98
SIGN
127
SIN
127
SOURCE
111
span
43, 45
SQL
8, 100
SQL Server
96
SQL-92
99
SQLite
96
SQL
143
SQRT
127
src
36
static
165
STDDEV
128
STDDEV_POP
128
STDDEV_SAMP
128
str_replace
137
StringBuilder
166
strong
37
style
43
SUBSTR
105, 126
SUBSTRING_INDEX
126
SUM
124, 128
HTTP
62
SQL
105
URI
64, 191
urlencode
65
URLEncoder.encode
65
URL
65, 190
URN
64
USE
97
User-Agent
62
UTF-16
183, 186
UTF-8
183, 186
UTF-8N
145
V
T
table
34
TAN
127
td
34
TEXT
99
text-align
45, 46
text-decoration
46
th
34
this
177
TIMEDIFF
127
TIMESTAMP
99
Tomcat
187
toString
81
tr
34
TRIM
126
TRUNCATE
106, 127
try
171
Twitter API
71
U
Ubuntu
18
UCS
184
ul
33
UML
図
176, 180
UNHEX
126
Unicode
184–186
Unicode
値
184
Unix
118
UPDATE
105
VAR_POP
128
VAR_SAMP
128
VARCHAR
99
VirtualBox
16
visibility
46
VLOOKUP
118
W
W3C
49
WAR
162
Web
3
width
45, 46
Wikipedia
190
Windows-31J
11, 183,
188
WORA
2
World Wide Web
3
WWW
3
X
X-HTTP-MethodOverride
131
XHTML
39
XHTML 1.0 Strict
XMLHttpRequest2
XML 処理
Java
72
39, 40
XML 宣言
39
75
195
索 引
XSS
143
実体関連図
楷書体
終了
145
185
外部
117
外部
制約
111
隔離性
125
可視性
176
箇条書
32
画像
36
仮想
15
Y
YSlow
60
YUI
52
Z
z-index
改行
46
行
94
人名用漢字
114
基底
50
管理
権
欄
暗黙
異体字
180
184
教育漢字
93
129
177
191
180
156
80
強調
高
184
数値文字参照
41
数独
100
93
挿入攻撃
143
159
42
44
89
63
128
116
180
30
166
170
143
45
144
178
111
112, 145,
継承
正規化
180
45
Java
MySQL
整形済
139
固定攻撃
125
JSP —
SQL
3
49
30
98
171
179
125
宣言
156
操作
176
送信
68
36, 41, 176
175
175
45
行
4
属性
180
176
85, 86
88
180
77
55
親
180
式
行
改行
196
字形
36
42
44
81
4
110
円記号
177
79
49
1
永続性
139,
143
1
標準
166
103
36
89
188
1
115
正規表現
177
125
康煕字典
185
構造体
176
国際文字集合
184
子
180
原子性
146
引用
36
引用符
36, 41
要素
3
85,
80
37
185
91
45, 176
暦
185
125
一貫性
色
114
31, 36, 40
主
制約
99, 111
常用漢字
184
書体
185
字体
81
184
184
行
第 1∼4 水準漢字
高島屋
185
31
184
索 引
終了
31
段落
32
111
67, 85
直積
4
118
185
吉
JSP
MySQL
188
mysql
PHP
Wikipedia
190
65, 190
68
67
47
43
128
非推奨要素
演算
非表示
49
187
100,
188
188
68
156
156
189
表
型
MySQL
99
1, 96
削除
97
作成
96
利用
97
管理
92
34
標準偏差
190
183
128
176
66
160
文字参照
41
文字実体参照
文字集合
43
184
符号化文字集合
184
41
184
30
符号化方式
156
行
51
112
179
93,
削除
作成
変更
65
伝書鳩
97
98
97
99
)
JSP
140
PHP
140
統合開発環境
10
特殊文字
41
独立性
92
125
128
51
郵便番号
145
認証
138
制約
111
144
112
50
48
暦
利用
転送(
Java
pear
PHP
要素
70
71
71
要素
31
行
67
45
検索
44, 55
分散
68
160
140
140
39
48
包摂
68
47
47
二重引用符
認証
JSP
PHP
184
行
47
41
138
行
背景色
45
92
配列
172
176
高
185
67
派生
180
排他制御
93
管理
言語
47
行
93
32
173
31
48
152
見出
明朝体
文字
HTML
187
154
32, 173
128
文書型宣言
170
例外
31
185
176
184
170
138
125
40,
行
144
197
監 修 者 略 歴
佐久田 博司(さくた・ひろし)
1979 年
1981 年
1984 年
1988 年
1992 年
1997 年
2004 年
東京大学工学系大学院修了(工学博士)
株式会社日立製作所日立工場入社
長岡技術科学大学機械系助手
長岡技術科学大学助教授
青山学院大学理工学部助教授
マサチューセッツ工科大学客員助教授
青山学院大学理工学部教授 現在に至る
著 者 略 歴
矢吹 太朗(やぶき・たろう)
1998 年
1999 年
2004 年
2004 年
2004 年
2007 年
東京大学理学部天文学科卒業
東京大学大学院理学系研究科天文学専攻中退
東京大学大学院新領域創成科学研究科基盤情報学専攻修了
博士(科学)
青山学院大学理工学部助手
青山学院大学理工学部助教
現在に至る
Web アプリケーション構築入門
(第 2 版) © 佐久田博司・矢吹太朗 2011
2007 年 7 月 31 日 第 1 版第 1 刷発行
2011 年 3 月 31 日 第 2 版第 1 刷発行
監 修 者
著 者
発 行 者
発 行 所
【本書の無断転載を禁ず】
佐久田博司
矢吹太朗
森北博巳
森北出版株式会社
東京都千代田区富士見 1-4-11(〒 102-0071)
電話 03-3265-8341 / FAX 03-3264-8709
http://www.morikita.co.jp/
日本書籍出版協会・自然科学書協会・工学書協会 会員
<(社)出版者著作権管理機構 委託出版物>
落丁・乱丁本はお取替えいたします
印刷・製本 / 丸井工文社
カバーデザイン / トップスタジオデザイン室
(轟木亜紀子)
Printed in Japan / ISBN978-4-627-84732-3
Fly UP