目次



Similar documents
目次

目次

メディプロ1 Javaサーブレット補足資料.ppt

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

PowerPoint Presentation

スライド 1

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

Web Servlet/JSP JSP

学校教育法等の一部を改正する法律の施行に伴う文部科学省関係省令の整備に関する省令等について(通知)

弁護士報酬規定(抜粋)

機 能 概 要 概 要 平 成 24 年 度 シームレスな 地 域 連 携 医 療 の 実 現 実 証 事 業 に 対 応 するため 地 域 連 携 システム( 能 登 北 部 版 )を 構 築 する 機 能 < 機 能 追 加 変 更 一 覧 > 1. 画 像 連 携 機 能 院 内 で 撮 影

HTML Java Tips dp8t-asm/java/tips/ Apache Tomcat Java if else f

Servlet/JSP ( 作成中 ) 2010 年 x 月 x 日作成 Firebird 日本ユーザー会 Naoyuki Sano 1

特別徴収封入送付作業について

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

2011論稿_吉川宏之.indd

目次

スライド 1

通 知 カード と 個 人 番 号 カード の 違 い 2 通 知 カード ( 紙 )/H27.10 個 人 番 号 カード (ICカード)/H28.1 様 式 (おもて) (うら) 作 成 交 付 主 な 記 載 事 項 全 国 ( 外 国 人 含 む)に 郵 送 で 配 布 希 望 者 に 交

Servlet JSP JSP Servlet/JSP における 日 本 語 の 処 理 - 1

2 / 11 ページ 第 5 講 ビジネスメールの 作 法 Active! Mail を 起 動 し ログインしておきましょう 5-1 ビジネスメールのルールとマナー ビジネスメールのルールとマナーを 確 認 しましょう 宛 先 やCC BCCを 使 い 分 ける 本 文 の 内 容 が 一 目 で

14.その 他 参 考 と なるべき 事 項 一 般 財 形 預 金 (2/2) (2) 紛 争 解 決 措 置 東 京 弁 護 士 会 ( 電 話 : ) 第 一 東 京 弁 護 士 会 ( 電 話 : ) 第 二 東 京 弁 護 士 会 ( 電 話 :

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

2 Wee とは Wee はホームページの 更 新 ツールです Wee は サイトの 枠 組 みをWeb 製 作 業 者 が 作 成 し 更 新 は お 客 様 に 自 由 にしていただこうというコンセプトの 製 品 です インターネットに 繋 がる 場 所 ならどこからでも ブラウザでホームページ

( 質 問 5)[ 論 点 2-2] 履 行 義 務 の 充 足 支 配 の 考 え 方 及 び 顧 客 が 財 又 はサービスの 支 配 を 獲 得 している 指 標 は 実 態 に 応 じた 判 断 を 行 うために 十 分 であると 考 えますか 不 十 分 であるとすれば どのような 考 え

ez_meishi.ppt

<4D F736F F D F4390B3208A948C E7189BB8CE F F8C668DDA97702E646F63>

text

9iAS_DEV.PDF

180404

Ver 改 訂 日 付 改 訂 内 容 1

2. ど の 様 な 経 緯 で 発 覚 し た の か ま た 遡 っ た の を 昨 年 4 月 ま で と し た の は 何 故 か 明 ら か に す る こ と 回 答 3 月 17 日 に 実 施 し た ダ イ ヤ 改 正 で 静 岡 車 両 区 の 構 内 運 転 が 静 岡 運

1.システム 構 成 1.1 ハードウェア 及 ぶ 基 本 ソフトウェア (1) システム 構 成 の 基 本 方 針 システム 構 成 のコンセンプトについて 2 頁 以 内 で 記 述 してください 1ハードウェア 構 成 のコンセプト

PowerPoint プレゼンテーション

この 章 では 電 子 入 札 システムをご 利 用 いただくための 事 前 準 備 について 説 明 します 事 前 準 備 と して ID 初 期 パスワードの 確 認 初 期 パスワード 初 期 見 積 用 暗 証 番 号 の 変 更 IC カード 登 録 またはICカード 更 新 を 行 っ

H28記入説明書(納付金・調整金)8

2. 番 号 種 別 の 利 用 方 法 わが 国 の 番 号 方 式 に 照 らして INSネットでの 番 号 種 別 の 具 体 的 な 利 用 方 法 を 記 述 すると 以 下 のようにな ります (1) 番 号 種 別 (TON)= 不 定 電 話 サービスと 同 様 のダイヤル 手 順

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

Webサービス, 軽量プログラミング言語のIPv6対応Perl編

Microsoft Word - FBE3A91F.doc

疑わしい取引の参考事例

OKIKAE-KAIRYOU-V3.xdw

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

長 は10 年 ) にすべきことを 求 める ⑸ 改 善 意 見 として 事 務 引 継 書 にかかる 個 別 フォルダーの 表 示 について 例 えば 服 務 休 暇 全 般 ( 事 務 引 継 書 を 含 む) といったように 又 は 独 立 した 個 別 フォルダーとして 説 明 を 加 え

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親

Apache Tomcatにおけるクロスサイトリクエストフォージェリ(CSRF)保護メカニズム回避の脆弱性

<4D F736F F D208DE3905F8D8291AC8B5A8CA48A948EAE89EF8ED0208BC696B18BA492CA8E64976C8F BD90AC E378C8E89FC92F994C5816A>

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2


研究者情報データベース

Ⅰ 調 査 の 概 要 1 目 的 義 務 教 育 の 機 会 均 等 その 水 準 の 維 持 向 上 の 観 点 から 的 な 児 童 生 徒 の 学 力 や 学 習 状 況 を 把 握 分 析 し 教 育 施 策 の 成 果 課 題 を 検 証 し その 改 善 を 図 るもに 学 校 におけ

< 現 在 の 我 が 国 D&O 保 険 の 基 本 的 な 設 計 (イメージ)> < 一 般 的 な 補 償 の 範 囲 の 概 要 > 請 求 の 形 態 会 社 の 役 員 会 社 による 請 求 に 対 する 損 免 責 事 由 の 場 合 に 害 賠 償 請 求 は 補 償 されず(

目 次 電 子 申 請 を 使 用 した 申 請 の 流 れ 1ページ 申 請 書 ( 概 算 保 険 料 申 告 書 )の 作 成 2ページ 作 成 した 申 請 書 の 送 信 31ページ 状 況 照 会 電 子 納 付 を 行 う 62ページ 返 送 書 類 の 取 得 75ページ お 問 い

Microsoft Word - mtdevguide1_for_sample.doc

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

3. システム 要 件 IM- 社 内 便 Ver.7.2 は 以 下 の 製 品 上 で 動 作 します サーバ 要 件 Windows Server 2003 R2 Windows Server 2008 Windows Server 2008 R2 Red Hat Enterprise Lin

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

注 雇 促 進 税 制 と 本 制 度 のどちらかを 利 する 可 能 性 があるが あらかじめどちらの 制 度 を 利 するか 判 断 できない という 場 合 雇 促 進 税 制 の 事 前 届 出 ( 雇 促 進 計 画 の 提 出 )をした 上 で 申 告 の 際 にどちらを 利 するかご

節 実 施 期 間 実 施 級 実 施 期 間 情 報 処 理 第 回 は 級 と 級 のみ 実 施 各 期 間 内 回 の 受 験 となります C 言 語 Java Visual Basic ワードプロセッサ 第 回 は 級 のみ 実 施 第 回 は 級 のみ 実 施 第 回 は 級 と 級 のみ

PowerPoint プレゼンテーション

るよう 工 事 打 合 せ 簿 ( 様 式 2)により 受 注 者 に 求 めます 5-1 理 由 書 ( 様 式 3)が 提 出 され 特 別 の 事 情 を 有 すると 認 めた 場 合 は 社 会 保 険 等 の 加 入 が 確 認 できる 書 類 を 提 出 するよう 工 事 打 合 せ 簿

(5) 給 与 制 度 の 総 合 的 見 直 しの 実 施 状 況 について 概 要 の 給 与 制 度 の 総 合 的 見 直 しにおいては 俸 給 表 の 水 準 の 平 均 2の 引 き 下 げ 及 び 地 域 手 当 の 支 給 割 合 の 見 直 し 等 に 取 り 組 むとされている

2 出 願 資 格 審 査 前 記 1の 出 願 資 格 (5) 又 は(6) により 出 願 を 希 望 する 者 には, 出 願 に 先 立 ち 出 願 資 格 審 査 を 行 いますので, 次 の 書 類 を 以 下 の 期 間 に 岡 山 大 学 大 学 院 自 然 科 学 研 究 科 等

答申第585号

第13回講義

平 成 27 年 11 月 ~ 平 成 28 年 4 月 に 公 開 の 対 象 となった 専 門 協 議 等 における 各 専 門 委 員 等 の 寄 附 金 契 約 金 等 の 受 取 状 況 審 査 ( 別 紙 ) 専 門 協 議 等 の 件 数 専 門 委 員 数 500 万 円 超 の 受

WebAlertクイックマニュアル

所 得 税 と 住 民 税 の 税 率 表 所 得 税 と 住 民 税 の 税 率 は 以 下 の 通 りです 退 職 所 得 の 場 合 も この 税 率 表 を 使 います 1. 平 成 19 年 1 月 1 日 以 降 ( 所 法 891) 課 税 所 得 所 得 税 率 控 除 額 ~195

(3) 小 単 元 の 指 導 と 評 価 の 計 画 小 単 元 第 11 章 税 のあらまし の 指 導 と 評 価 の 計 画 ( 四 次 確 定 申 告 制 度 抜 粋 ) 関 心 意 欲 態 度 思 考 判 断 技 能 表 現 知 識 理 解 小 単 元 の 評 価 規 準 税 に 関 す

編 5ヶ 月 6 総 論 7 抜 ピ ド ピ ド 速 永 久 繰 ロ セ 慣 容 易 結 共 通 決 々 5 照 づ 具 ご 紹 介 与 監 査 比 較 場 限 提 始 箇 提 進 ご 安 心 話 提 与 監 査 雑 把 与 締 役 緒 算 類 作 機 関 従 来 税 始 忘 生 物 繰 切 忘 葉

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

労働時間と休日は、労働条件のもっとも基本的なものの一つです

WebOTXマニュアル

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

住み慣れたこの町で最期まで 安心して暮らすために

中根・金田台地区 平成23年度補償説明業務

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

名 刺 Scan とは 名 刺 Scan 情 報 を 顧 客 パーソン 情 報 として 登 録 する 名 刺 Scan とは 複 合 機 やスマートフォンなどでスキャンした 名 刺 データを 弊 社 指 定 の 名 刺 管 理 ソフトを 利 用 して 文 字 認 識

従業員の個人住民税の特別徴収を実施していない事業者の方へ

6. 共 有 等 に 係 る 固 定 資 産 の 判 定 3 共 有 に 係 る 固 定 資 産 については それぞれの 共 有 者 が 他 に 固 定 資 産 を 所 有 している 場 合 であっても その 資 産 とは 別 個 に 共 有 されている 固 定 資 産 を 別 の 人 格 が 所

Microsoft PowerPoint - Lecture_3

0605調査用紙(公民)

< F2D8E518D6C B83678C8B89CA >

Microsoft Word - 第3章.doc

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

平成19年9月改定

<4D F736F F D F F F4390B3816A2E646F63>

参加表明書・企画提案書様式

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

CENTNET 導 入 の 手 引 き 変 更 履 歴 No. 変 更 日 変 更 番 号 変 更 枚 数 備 考 /07/ 版 発 行 - システムリプレースにより 全 面 刷 新 //07/ 版 発 行 3 誤 字 等 の 修 正 /

為 が 行 われるおそれがある 場 合 に 都 道 府 県 公 安 委 員 会 がその 指 定 暴 力 団 等 を 特 定 抗 争 指 定 暴 力 団 等 として 指 定 し その 所 属 する 指 定 暴 力 団 員 が 警 戒 区 域 内 において 暴 力 団 の 事 務 所 を 新 たに 設

HTML/JSP/Servlet... 7 JSP... 7 Servlet Struts Struts Struts FormBean LoginForm

( 減 免 の 根 拠 等 ) 第 1 条 こ の 要 綱 は, 地 方 税 法 第 条 の 規 定 に 基 づ く 市 税 条 例 第 6 9 条 の 2 の 規 定 を 根 拠 と す る 身 体 障 害 者 等 に 対 す る 軽 自 動 車 税 の 減 免 の 具 体 的 な 対

改 訂 来 歴 改 訂 番 号 発 行 日 改 訂 内 容 承 認 照 査 作 成 新 規 発 行 ( 認 証 ロゴマークは 別 途 ) 熊 野 熊 野 関 谷 改 訂 番 号 1~13 の 改 訂 内 容 は 旧 版 PCG-00

 

Microsoft PowerPoint - Lecture_2

Transcription:

http://www0.info.kanagawa-u.ac.jp/~kaiya/wa/ dotcampus ショートコード 179067 ウエブアプリケーション 2015 第 12 回 Servlet 2015/12/10 海 谷 治 彦 1

演 習 解 答 例 期 末 試 験 について 目 次 JSP/Servletの 対 比 (ほぼ 復 習 ) Servletの 記 述 Servletのコンパイル Servletの 配 置 redirect と forward ウエブアプリに 利 用 可 能 な 通 常 Javaクラス 本 日 の 演 習 2

期 末 試 験 について やります. シラバスにそうかいちゃったんで. 本, 紙 類 は 持 ち 込 み 可 能 とします. PC, スマフォ, 携 帯 電 話,タブレット 等 はダメよ. 基 本, 知 識 を 問 う 問 題 ではなく, 理 由 を 問 う 問 題 中 心 になると 思 います. 3

復 習 ++ セットアップしてほしい 構 成 Lenovo : クライアント Firefox 等 : ウエブブラウザ HTTP CentOS 6.5 : サーバー MySQL 5.1 : データベース apache 2.2 : ウエブサーバー PHP 5.3 : モジュール Tomcat6 : アプリケーションサーバー JVM : モジュール 4

復 習 共 通 点 JSP どちらもサーバーで 実 行 される. JSP and Servlet すなわち,クライアントに 届 いた 時 にはただのHTML コレがJavaScriptとの 大 きな 違 い HTMLにJavaっぽいものを 埋 め 込 む. 雰 囲 気 はJavaScriptに 似 てるが, 上 記 のようにサーバー 内 で 実 行 される. phpはコレに 考 え 方 が 似 ている. オリジナルのクラス 等 を 作 成 する 場 合 は,Servletとの 連 携 が 必 要. Servlet Javaそのもの. mainメソッドは 書 かないのが 普 通. そもそも スーパークラスがフレームワーク 的 にできている. Javaのprint 機 能 でHTMLの 行 を 表 示 しないと,クライアント 側 で 解 釈 不 能 になる. どちらかといえば,JSPのサブルーチン 的 に 使 われるのが 普 通. 5

復 習 <HTML> <HEAD> <TITLE> JSP loop </TITLE> </HEAD> <BODY> <ul> <% int i; for(i=0; i<10; i++){ %> <li> number <%= i*3 %> <% } %> </ul> </BODY> </HTML> サンプル // Simple Servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Another extends HttpServlet { } public void doget( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); out.println("<head>"); out.println("<title>another!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>another!</h1>"); out.println("</body>"); out.println("</html>"); } 6

Tomcat6の 基 本 事 項 を 復 習 (JSP) HTMLにJavaの 断 片 を 埋 め 込 む 感 じ. 以 下 のフォルダの 下 の 個 々のフォルダがアプリケー ションである, 例 えば, /var/lib/tomcat6/webapps/アプリ/ JSPファイルはアプリのフォルダに 直 接 置 けばよい. JSPに 関 しては 特 にコンパイル 等 はいらない. DBにアクセスするためには, /var/lib/tomcat6/webapps/アプリ/meta-inf/context.html に 設 定 を 書 かないといけない. 7

Tomcat6の 基 本 事 項 (Servlet) Javaプログラムそのもの. 以 下 のフォルダの 下 の 個 々のフォルダがアプリケーションである. /var/lib/tomcat6/webapps/ ServletはJavaそのものなので 事 前 にコンパイルする 必 要 がある. クラスファイルは /var/lib/tomcat6/webapps/アプリ/web-inf/classes/ の 下 におく.パッケージに 分 けているなら,フォルダ 階 層 も 必 要. クラスファイルとページの 対 応 表 を 以 下 のファイルにかかないといけない. /var/lib/tomcat6/webapps/アプリ/web-inf/web.xml DBにアクセスするためには, /var/lib/tomcat6/webapps/アプリ/meta-inf/context.html に 設 定 を 書 かないといけない. 8

Servletソースの 構 造 アップしたサンプルを 見 ながら 聞 いてください. 例 えば,WhereApi.java 等. javax.servlet.http.httservletクラスのサブクラスとし て 構 成 する. 大 抵,doGet もしくは dopostメソッドをオーバーライ ドする. 独 自 にhtmlページを 構 成 する 場 合, respnseの 型 を 設 定 printlnで 一 行 一 行 htmlを 書 く という 面 倒 をしないといけない. JSPにあった 暗 黙 変 数 の 取 り 方 は 次 頁 へ. 9

復 習 JSPの 暗 黙 オブジェクト 以 下 のようなオブジェクト(インスタンス)が 宣 言 なしで 使 える. 主 にウエブとの 情 報 共 有 に 用 いられる. 宣 言 部 (<%! %>)では 使 えないことを 注 意. オブジェクト 名 application config exception out page 概 要 コンテナに 関 する 情 報 等 設 定 ファイルへのアクセス ページ 内 で 発 生 した 例 外 情 報 を 管 理 クライアントにデータを 出 力 する 手 段.out.printlnはよくつかう. JSPページそのもの. pagecontext ページ 単 位 で 利 用 可 能 な 情 報. request response httpリクエストへのアクセスを 提 供 httpレスポンスを 修 正 する 場 合 に 利 用 session セッションの 情 報, 次 回 以 降. 10

Servletでの 対 応 JSPでの 暗 黙 オブジェクトは 以 下 のようにSevletで は 取 得 できる. JSP application config exception out page pagecontext request response session Servlet javax.servlet.servletcontext a=this.getservletcontext(); javax.servlet.servletconfig c=this.getservletconfig(); 各 メソッドによる APIを 見 ること java.io.printwriter out=response.getwriter(); なし なし dopost 等 の 引 数 dopost 等 の 引 数 javax.servlet.http.httpsession s=request.getsession(); 11

主 なメソッド 基 本 的 にはHTTPのメソッドの 種 類 に 対 応.よく 使 うものは, doget ブラウザからGETメソッドでサーバーに 接 続 する 際 に 呼 び 出 される. dopost こちらはPOSTメソッドの 場 合. 引 数 の 構 成 はほぼ 同 じ 軽 くAPIを 見 直 してみてください. 12

Javaのコンパイル ( 一 般 論, 復 習 ) Eclipse 等 を 使 っていると 忘 れ 気 味 だが,javac というコマン ドラインのコンパイラが 存 在 する. servletでは 非 標 準 APIを 使 う 必 要 があるので, 自 身 でこの 準 備 を 行 う 必 要 がある. 具 体 的 には, 本 授 業 の 環 境 では, 以 下 のように,-cp オ プションを 付 ける 必 要 がある. 面 倒 だと 思 う 人 は shell scriptなり,alias なりにしてみること. サンプル 中 には,compile.sh というスクリプトが 入 っている. CLASSPATH という 環 境 変 数 を 設 定 してもよい. javac -classpath /usr/share/tomcat6/lib/../servlet.jar なんとか.java 13

Javaのパッケージ ( 一 般 論 ) Javaでは 同 じ 名 前 のクラスが 衝 突 しないように,パッ ケージという 概 念 がある. これによって, 例 えば, org.acm.kaiya.jindai クラスと, jp.ac.nii.kaiya.jindai クラスは, クラス 名 は 同 じでも, 別 のクラスとして 扱 える. パッケージ 名 は, 上 記 のように,.で 区 切 った 英 数 文 字 (-は 使 えない)の 列 で 構 成 される. 上 記 のように, 慣 例 として,ドメイン 名 を 逆 したした 名 前 をパッケージ 名 とすることが 多 い. kaiya.acm.org ならば org.acm.kaiya コンパイルは 問 題 無 いが, 実 行 時 点 の 配 置 には 考 慮 が 必 要.( 後 述 ) 14

サンプル // ごく 普 通 のクラス // パッケージの 定 義, 本 来 は,org.acm.kaiya 等, // ドメイン 逆 の 名 前 にすべきだが, // 面 倒 だから 単 に 一 語 のパッケージ 名 とした package kaiya; public class ImportTest2{ public int val=314; // public ImportTest2(){} public String say(){ return "I was imported!"; } } public static String saystatic(){ return "I am static and packaged. 2nd."; } 15

Servletのコンパイル javax.servletクラスは 標 準 的 なAPIではない. よって, 前 述 の-cpオプション 等 でライブラリが 入 っ ているフォルダもしくはjarファイルを 指 定 しないと いけない. 本 演 習 の 標 準 的 な 設 定 では, /usr/share/tomcat6/lib/../servlet.jar にSerlet 関 連 のクラスが 入 っている. よって, 以 下 のようにコンパイル javac -classpath /usr/share/tomcat6/lib/../servlet.jar なんとか.java 16

再 掲 載 Tomcat6の 基 本 事 項 (Servlet) Javaプログラムそのもの. 以 下 のフォルダの 下 の 個 々のフォルダがアプリケーションである. /var/lib/tomcat6/webapps/ ServletはJavaそのものなので 事 前 にコンパイルする 必 要 がある. クラスファイルは /var/lib/tomcat6/webapps/アプリ/web-inf/classes/ の 下 におく.パッケージに 分 けているなら,フォルダ 階 層 も 必 要. クラスファイルとページの 対 応 表 を 以 下 のファイルにかかないといけない. /var/lib/tomcat6/webapps/アプリ/web-inf/web.xml DBにアクセスするためには, /var/lib/tomcat6/webapps/アプリ/meta-inf/context.html に 設 定 を 書 かないといけない. 17

Servletの 配 置 コンパイルしたプログラムや 設 定 ファイルを 実 行 のために サーバーの 特 定 のフォルダにおくことを, 配 置 もしくはディ プロイ(deploy)と 呼 ぶ. 単 純 なアプリと 違 い,ウエブアプリを 含 めた 複 雑 なアプリは, この, 配 置 だけでわりと 一 苦 労 である. Servletやウエブアプリで 使 うJavaのclassファイルは, /var/lib/tomcat6/webapps/アプリ/web-inf/classes/ におけばよい. ただし,パッケージにした 場 合,パッケージに 応 じたフォル ダ 階 層 を 構 成 しないといけない( 次 頁 ). アプリとclassファイルの 対 応 表,web.xml については 後 述. 18

// サンプル acm.zip にはいってます package org.acm.kaiya; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Acm extends HttpServlet { public void doget( HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ パッケージ 対 応 の 例 左 記 のようなパッケージに, クラスAcmを 定 義 した 場 合, 以 下 のように, わりと 深 いフォルダ 階 層 を 掘 らないといけない. メンドい response.setcontenttype("text/html"); PrintWriter out = response.getwriter(); out.println("<html>"); // 中 略 out.println("</html>"); } } 19

web.xml クラスファイルをブラウザからアクセスするための 対 応 表 で ある. 特 に 慣 例 は 無 い 様 だが,Strutsというフレームワークを 使 う 場 合 は.do とするようだ. 以 下, 例, 青 字 は 解 説 <servlet> <servlet-name>id20141210</servlet-name> 名 前 は 一 意 ならなんでもOK <servlet-class>org.acm.kaiya.acm</servlet-class> パッケージを 含 めたクラス 名 </servlet> <servlet-mapping> <servlet-name>id20141210</servlet-name> servletで 定 義 した 名 前 <url-pattern>/welcome</url-pattern> URLの 最 後 にコレがつく </servlet-mapping> 20

Servletの 実 行 アプリのURLに web.xml で 定 義 したurl-patternを くっつければ 実 行 できる. 普 通 のHTMLやJSPが 実 際 のフォルダ 階 層 に 合 致 しているのに 対 して,servletはそうでは 無 いので 注 意 が 必 要. 21

Form 等 からの 値 処 理 From 等 から 入 力 されたkey-valueをrequestから 取 り 出 す 典 型 的 なインタラクション 処 理 もJSP 同 様 に 記 述 可 能. 例 : svltform.zip を 参 照 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Register extends HttpServlet { public void doget(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException{ String email = req.getparameter("email"); // 以 下, 略 } } 22

ServletからのDBアクセス JSPでのコードがほぼそのまま 利 用 できる. サンプルソース Sql1.java アプリ /tomcat/tomcat01/sql1 別 途, 本 日 のサンプル 中 に dbclass.zip というのも ある. これは,DB 操 作 部 分 を 独 立 したJavaクラスとして ある.( 後 述 ) 23

redirect と forward ユーザーからの 入 力 をトリガーとして, 他 のページ に 遷 移 することはformで 実 現 できる. ユーザーからのトリガー 無 く 他 のページに 処 理 を 移 すための 技 術 としてredirectとforwardがある. 例 えば,Servletで 何 か 計 算 をして,その 結 果 をJSPで 表 示 したい 場 合 等 はとても 便 利. Servletで 表 示 するのは 面 倒 だし. 無 論,Servlet Servlet, JSP JSP もOK キーとなるポイントはページ 間 でどのようにデータ を 共 有 するかである. redirect セッション 等 を 利 用 するしかない. forward リクエストの 情 報 がそのまま 引 き 継 がれる. の 違 いがある. 24

redirectのサンプル redict.zipを 参 照 // 略 Redirect.java public class Redirect extends HttpServlet { public void dopost(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException{ String email = req.getparameter("email"); if(email==null) email="unknown"; HttpSession s=req.getsession(); s.setattribute("email", email); res.sendredirect("/tomcat/redirect/show.jsp"); } } <body> <%-- show.jsp --%> <% String email= (String)session.getAttribute("email"); %> <div> <table border> <tr> <th>email address</th><tr> <tr> <td> <%=email%> </td></tr> </table> </div> <a href="form.html">[again]</a> </body> 25

forward.zipを 参 照. Forward.java から 抜 粋 forwardのサンプル public void dopost(httpservletrequest req, HttpServletResponse res) throws IOException, ServletException{ // 折 角 なので,Servletで 追 加 情 報 をつけた req.setattribute("add", "ServletObjectID="+this); // 最 初 のJSPで 入 力 されたemailについては 何 も 対 処 してない 単 に 転 送 される this.getservletcontext().getrequestdispatcher("/show.jsp").forward(req, res); } show.jsp から 抜 粋 <% // 最 初 のJSPで 入 力 された 情 報 String email = request.getparameter("email"); if(email==null) email="unknown"; // Servletで 意 図 的 に 付 け 加 えた 情 報 String add = (String)request.getAttribute("add"); %> <div> <table border> <tr> <th>email address</th> <th>object ID</th> <tr> <tr> <td><%=email%></td> <td><%=add%></td> </tr> </table> </div> 26

自 作 のクラスについて JSP/Servlet 双 方 で 自 作 のクラスが 当 然 使 える. 配 置 等 については Servletの 配 置 や 次 頁 を 参 照. JSP/Servletはブラウザ 等 との 直 接 の 窓 口 に 過 ぎな いので, 業 務 に 特 化 した 処 理 内 容 やデータは, 別 途, 普 通 のクラスで 構 築 したほうがよい. 後 述 のMVCの 話. サンプル: インストール 時 に 配 布 した, tomcat01/simple2.jsp tomcat01/web-inf/classes/kaiya/importtest2.class 本 日 の dbclass.zip もサンプルの 一 種. 27

Tomcat6の 基 本 事 項 ( 一 般 クラス) 当 たり 前 だがJavaプログラムそのもの. 以 下 のフォルダの 下 の 個 々のフォルダがアプリケーションであり,アプリ 毎 に 使 うクラスを 準 備 する. /var/lib/tomcat6/webapps/ 事 前 にコンパイルする 必 要 がある. クラスファイルは /var/lib/tomcat6/webapps/アプリ/web-inf/classes/ の 下 におく.パッケージに 分 ける 必 要 があるらしく,フォルダ 階 層 が 必 要. web.xml は 特 に 書 かなくて 良 い. DBにアクセスするためには, /var/lib/tomcat6/webapps/アプリ/meta-inf/context.html に 設 定 を 書 かないといけない. 28

MVCについて Model-View-Controller の 略. オブジェクト 指 向 プログラミングで 習 ったかもしれない. アプリケーションを 作 る 際 に 上 記 の 三 つに 分 けて 設 計 すると 良 い という 指 針. Model アプリで 扱 う 業 務 や 活 動 のみを 扱 う 部 分. ショッピングサイトの 業 務 なら 商 品, 注 文, 顧 客 等 がコレに 相 当. 基 本,システムとは 関 係 ない 業 務 依 存 の 部 分. 主 に 普 通 のクラスやJavaBeans 等 で 実 現 される. View システムとしてユーザーと 相 互 作 用 する 部 分. 入 出 力. ウエブアプリならウエブページに 相 当 し, 主 にJSPが 担 当. Controller ModelとViewを 関 連 付 け, 業 務 の 進 行 を 制 御 する 部 分. 主 にServletが 担 当. 29

MVCのメリット 特 にModelと 他 を 分 離 することで, 実 現 方 法 を 簡 単 に 変 更 できる. 例 えば,ウエブアプリをやめて,アンドロイドの 専 用 アプ リを 作 ろうという 時 にも,Modelはそっくりそのまま 流 用 できる.(Javaの 場 合, 特 に) Modelで 表 現 される 業 務 は 往 々にして 類 似 したも のが 多 いので, 再 利 用 ができる. 我 々が 想 像 する 以 上 に 業 務 というのはワンパターン アマゾンも 楽 天 もやってることはほぼ 同 じ. 吉 野 家, 松 屋,すき 家 もほぼ 同 じ. アプリケーションフレームワーク 等. 30

JSP/Servletの 挙 動 が 変 になったら 以 下 をrootで 実 行 する. localhostのところは,127.0.0.1 かもしれない. # cd /var/cache/tomcat6/work/catalina/localhost/ # rm -rf アプリ 名 # cd /etc/tomcat6/catalina/localhost/ # rm アプリ 名.xml プログラムを 修 正 する. # /etc/rc.d/init.d/tomcat6 restart # /etc/rc.d/init.d/httpd restart # /etc/rc.d/init.d/tomcat6 force-reload でもよさそう. 31

本 日 の 演 習 dotcampusに 出 してください. 問 題 もdotcampusのほうを 参 照. 今 回 も 締 切 は 来 週 とします. そろそろインストも 落 ち 着 いてきたと 思 いますが, 問 題 の 規 模 も 微 妙 に 大 きくなってきたので. 本 日 は 以 上 32