情報環境実験 Ⅱ （香川担当分）

# 情報環境実験 Ⅱ （香川担当分）

2018年度・後期・火曜日 Ⅲ–Ⅳ
担当: 香川、高橋
TA: 木村、久保
対象: 工学部 ENIE 3年生以上
場所: 3101教室

- 受講者はこのページを随時チェックすること。
- シラバス

## お知らせ

（新しいものほど上です。）

いわずもがなのことだが、他の授業の時間中にこの授業の演習問題を解くことは禁止する。

### その他

## 採点基準について

毎週の課題の、基本的な採点基準は以下の通りとする。

なお、合格／不合格の判定については、単純な加算で 60点以上を合格とするが、
秀・優・良・可の判定については、割合を考慮して調整をすることがある。

必須課題すべてと、選択（発展）課題の平均合格率分を解けば満点とする。
個々の課題については、以下の通りとする。

授業時間内に正解を提出 … 満点
（原則として自分の力で解くこと。ただし、TA・教員に聞くのは良い。）
なお、一部の事前に公開した課題は、演習時間開始 10分後程度を締切とすることがある。
締切（通常１週間後）までに正解を提出した。 … 40 %
（他の学生に相談してもよい。）
締切までにそれなりの解答を提出した場合、
（他の学生に相談してもよい。）
… 締切時の解答と最終的な解答を総合的に判断して 1 % 〜 40 %
締切までに提出しなかった場合、
… 最終的に正解を提出しても 0 % 〜 20 %

### 注意

コンパイル方法や文法事項・エラーメッセージの意味など、特定の課題に直接関係ない、
一般的な事項について他の学生に相談することは構わない。
（授業時間後に）特定の課題の解き方について、
他の学生と相談した場合は、ソースコードの先頭にコメントの形で、
学籍番号と氏名をあげて acknowledge すること。
単にソースコードを見せる、ソースコードのコピーを渡す、という教え方は厳禁する。
締切後に、解答例を公開する場合がある。その場合は
締切後に提出した解答は採点に反映されず、締切時の解答で採点する。
また、類似の代替問題を出す場合もある。
安易に訂正して再提出を繰り返すことを防ぐために、提出し直しは２回まで
（つまり、最初の提出とあわせて、３回まで）とする。
ただし、指摘を受ける前に自分で気がついて再提出するのは良い。
解答の間違いはできるだけ見つけて指摘するようにするが、
他の間違いに隠れて気付かないこともあるので、あくまでも自分の責任で問題の要件を満たしているかチェックすること。
授業時間中に教員や TA に「この解答で提出して良いか？」と質問しても答えることはできない。
たとえ「良い」と答えたとしても、最終的に正解と判定するとは限らない。
あくまでも自分で課題の条件を満たすかどうか判断しなければならない。

## 配布プリント

プリント第 0 章
（配布はしません）
この授業で仮定する Java の知識をダイジェストにまとめました。
プリント第 1 章
（10/02 配布）
プリント第 2 章
（10/02 配布）
プリント第 3 章
（10/02 配布）

## プリント中のプログラム

プリント第 1 章のプログラム
プログラム:MyDate.java
,

- JDKでのコンパイル,
Webアプリケーションのディレクトリ構造,
設置
Eclipseの使い方,
Eclipse の使い方 トラブルシューティング,
Git の使い方
doGetメソッド,
setContentTypeメソッド,
getWriterメソッド,
- プログラム: Counter.java,
GetRealPathExample.java,
Counter0.java,
DirIndex.java,
- getRealPathメソッド,
XXXReaderクラス,
Fileクラス,
XXXWriterクラス,
Integer.parseIntメソッド,
DOM の紹介
javax.xml.parsersパッケージ,
javax.xml.transformパッケージ,
org.w3c.domパッケージ
- プリント第2章のプログラム:
プログラム: QueryStringTest.java,
HighLight.java
- getQueryStringメソッド
- プログラム:
Aisatsu.java,
Aisatsu.html,
Mitsumori.html,
GuestBook.java,
GuestBookCat.java,
GuestBook.html,
GuestBookDom.java,
GuestBookDomCat.java
Debug.java
- doPostメソッド,
getParameterメソッド
setCharacterEncodingメソッド,
（フィルタ Filterで設定する方法,
web.xml,
AuthFilter.java）,
forward メソッド,
sendRedirect メソッド
getParameterNamesメソッド,
Enumerationクラス
（Parameters.html,
GetParameterNamesTest.java）

プリント第3章のプログラム:
プログラム: SessionCounter.java,
Quiz.java,
quiz.txt

getSessionメソッド,
getAttributeメソッド,
setAttributeメソッド,
invalidateメソッド ,
キャスト演算子,
セッションを使ったカスタム認証 (javadrive)
セッションを使ったカスタム認証 (フィルタ処理) (javadrive),
J2EE Tips: フィルタを用いた認証(スタック＊)
—
フィルタ
Filterを利用する方法

## 課題

（管理者用）
管理用インデックス、
インデックス、
更新、
表、
採点集計、

- 授業用ページのパスワード発行は
このページで
行なって下さい。アカウントは s学籍番号（tは小文字）です。
- 注意:
設定が変更されたのに、変更が反映されないときは、
いったんログアウトして、
再度アクセスを試みて下さい。
- 必ず各自で提出したファイルのバックアップを取っておいて下さい。
（自分のノート PC だけではなく、stfile などの大学のサーバのどこかにもバックアップしておいて下さい!!）
- 各個人へのメッセージ

### 第 0 回 10/02 （オリエンテーション）

- グループ分け
第４・５回の課題（GUI アプリケーション）は 3 〜 4 人程度のグループを組みます。
メンバーとグループ名、代表を決めておいてください。
- 注意: 2名または5名のグループも許容しますが、
特に5名の場合は、役割分担を明確にして、役割の極端に少ない人が出ないようにしてください。
- ソフトウェアのインストール

（前期の講義・演習でインストールしているはずですが）
必要なソフトウェアのインストール
を読んで、ソフトウェアをインストールしておいて下さい。
なお、JDK のバージョンは 09/25 時点では、11
になっています、Eclipse も 4.9 (2018-09)
が出ていますが、前期に使用したバージョンでも、新しいバージョンでも、
どちらでも構いません。Oxygen と Java 9 以降の組み合わせは、
Tomcat を起動するときに問題があるようです。Eclipse を最新版
（Eclipse 2018-09）にしておいてください。
Tomcat のインストール

第４・５回の課題（GUI アプリケーション）では Git の使用を強くお薦めします。

Bitbucket でアカウントを作成
（「Get started for free」をクリックして指示に従う）
Git for Windows または
SourceTree のインストール

Git の使い方を読んでおいてください。

- 10/16 の授業までにインストールしておいてください。
- 以下を読んでおいてください。

Eclipse の使用方法 Servlet 編
Eclipse の使用方法 Servlet 編 トラブルシューティング

11/06 の課題を公開してします。

### 第 1 回 10/16 （Git, Servletの基礎, ファイル・ディレクトリ操作,）

### グループの決定もします。
着席位置、
課題、
アップロード、

（スタッフ専用）
位置確認、
提出状況チェック

Eclipse Oxygen と Java 9 以降の組み合わせに問題があることが判明したので、
Eclipse の最新版
（Eclipse 2018-09）
をインストールしておいてください。（大学外からは、本家 Eclipseから取ってきてください。本家 Eclipse から取ってくる場合は、
“Eclipse IDE for Java EE Developers” を選んでください。）

なお、Eclipse をアップデートしたら、新しい workspace を使ってください。
以前の workspace には失敗した設定が残っていて、それをそのまま使おうとすると、
同じエラーがでるようです。

10/16 の課題の締め切りは 10/23 の課題と同じに変更します。

Git の使い方

課題に対するコメント、

### 第 2 回 10/23 （GET と POST）

### 着席位置、
課題（一部課題先行公開）
、
アップロード、

（スタッフ専用）
位置確認、
提出状況チェック

課題に対するコメント、

### 第 3 回 10/30 （セッション）

### 着席位置、
課題（一部課題先行公開）、
アップロード、

（スタッフ専用）
位置確認、
提出状況チェック

課題に対するコメント、

### 第 4 回 11/06 （GUI アプリケーション）

### 発表順のくじ引き, Runnable JARの作り方
着席位置、
課題、
アップロード
（Nov06.zip, Nov06.jar は代表者のみ提出すれば良い）

（スタッフ専用）
位置確認、
提出状況チェック

11/13 は富永先生の担当週です。

### 第 5 回 11/20 （発表）

### 着席位置、
課題、
アップロード、

（スタッフ専用）
位置確認、
提出状況チェック

Runnable JARs

11/27 以降は富永先生の担当週です。

Koji Kagawa (kagawa@eng.〜)

（〜の部分はSPAM mail予防のため省略）