000.EclipseによるWebアプリケーション開発(補足)
フォルダ(ディレクトリ)構成の確認
Eclipseのフォルダ構成とJavaEEの仕様で定められたディレクトリの構成は以下のように対比されます。
・JavaEEのコンテキストルート(ドキュメントルート)は動的Webプロジェクトに読み替えられます
・JavaEEのwebapps\ドキュメントルートの位置はEclipseではwebappとなります
(プロジェクト\src\main\webapp)
・JavaEEのクラスファイル(*.class)はbuildフォルダの中にあります
(プロジェクト\build\classes)
・JavaEEのソースコード(*.java や *.jsp)はmainフォルダの中にあります
(プロジェクト\src\main)
・DB接続デバイスドライバ(org.postgresql.driver.jar等)はlibフォルダに配置します
(プロジェクト\src\main\webapp\WEB-INF\lib)→ ドラッグ&ドロップ可能です
・urlから直接アクセス可能な画像ファイルなどはwebapp直下にフォルダを作って配置します
(プロジェクト\src\main\webapp)→ ドラッグ&ドロップ可能です
・urlから直接アクセス不可能なjspフォルダはWEB-INFの中に自分で作る必要があります
(プロジェクト\src\main\webapp\WEB-INF\jsp)
ECLIPSEのフォルダ構成 JavaEEのディレクトリ構成
例えばlibconプロジェクトの構成は以下のようになります。
演習課題:Eclipseの開発練習(教科書の実習問題を実装)
・1章 HTMLとWebページ
※画像ファイルの配置位置に注意すること
(1)動的Webプロジェクトbook(ドキュメントルート)の作成を行う。
(2)htmlファイルの作成を行う。→ ayabe.html(コード1-6)
(3)画像ファイルの配置を行う。→ ayabe.jpg
(4)サーバで実行する。→ 画像が表示されていること!
(5)内部ブラウザで表示された状態のスクショを報告する。
・3章 サーブレットの基礎
※パッケージ名に注意すること
(1)既存の動的Webプロジェクトbook(ドキュメントルート)を使用する。
(2)サーブレットクラスの作成を行う。→ UranaiServlet.java(コード3-4)
(3)サーバで実行する。
(4)内部ブラウザで表示された状態のスクショを報告する。
・4章 JSPの基礎
※ファイル作成位置に注意すること
(1)既存の動的Webプロジェクトbook(ドキュメントルート)を使用する。
(2)jspファイルの作成を行う。→ uranai.jsp(コード4-3)
(3)サーバで実行する。
(4)内部ブラウザで表示された「超スッキリ状態」のスクショを報告する。
・7章 リクエストスコープ(MVCモデル)
※パッケージ名およびファイル作成位置に注意すること
※実行するファイルに注意すること
(1)既存の動的Webプロジェクトbook(ドキュメントルート)を使用する。
(2)JavaBeansクラスの作成を行う。 → Health.java(コード7-4)
→ HealthCheckLogic.java(コード7-5)
(3)サーブレットクラスの作成を行う。 → HealthCheck.java(コード7-6)
(4)jspファイルの作成を行う。 → healthCheck.jsp(コード7-7)
→ healthCheckResult.jsp(コード7-8)
(5)サーバで実行する。
(6)内部ブラウザで表示された状態のスクショを報告する。
ここまでbookプロジェクトの構成は以下のようになります。
・第13章 jdbcプログラムとdaoパターン
※DB接続ドライバの配置位置に注意すること
(1)動的Webプロジェクトjdbc(ドキュメントルート)を作成する。
(2)DB接続ドライバを配置する。
(Linuxで演習したときと同じ org.postgresql.driver.jar ファイルです)
(3)Web資料「第13章 つぶやき投稿DB対応」に従いプログラムを作成する。
→「DB対応どこつぶプログラムを作成する」の①~④まで実装する
(4)完全に動作することを確認する。
(5)内部ブラウザで表示された状態のスクショを報告する。
・第14章【状況を見て...】
動的Webプロジェクトjdbc内に演習問題を実装する。
☆演習問題(TBL表示)☆
☆演習問題(DATA登録)☆
☆演習問題(DATA削除)☆
以下の順番で作りましょう!
Employee.java → EmployeesDAO.java → EmployeesController.java → empResult.jsp
ここまでjdbcプロジェクトの構成は以下のようになります。
追加実習(補足)【状況を見て...】
以下 動的Webプロジェクトhosoku を作成し実装する
・第11章 サーブレットクラスの実行の仕組みとフィルタ
(リスナの作成)
●Webアプリケーションの開始に対応するリスナーの作成を行う。
「カウンターリスナー」
11章のCounterListener.java(コード11-3)
パッケージは「listener」、
クラス名を「CounterListener」にする。
「ライフサイクル」にチェックを入れること
●Webアプリケーションの開始に対応するサーブレットの作成を行う。
「カウンターサーブレット」
11章のCounterServlet.java(コード11-3)
パッケージは「servlet」、
クラス名を「CounterServlet」にする。
※CounterServlet.java(サーブレット)を実行するとカウンターがインクリメントされることを確認です。
(フィルタの作成)
●Webアプリケーションのリクエストパラメータの文字コードを指定するフィルターの作成を行う。
「文字コードフィルター」
11章のSetEncodingFilter.java(コード11-4)
パッケージは「filter」、
クラス名を「SetEncodingFilter」にする。
●Webアプリケーションの開始に対応するサーブレットの変更を行う。
「フォームサーブレット」
5章のjspファイルの作成を行う。→ form.jsp(コード5-3)←これ保存場所はドキュメントルートですよ!
5章のサーブレットクラスの作成を行う。→ FormServlet.java(コード5-4)←パッケージ名は....
→request.setCharacterEncoding("UTF-8");をコメントアウトする
●form.jspを実行してスクショを報告
※request.setCharacterEncoding("UTF-8") はコメントアウトされているのに文字化けしないことを確認です。
・第12章 アクションタグとEL式
●dokoTsubuアプリケーションをEL式とJSTLで書き直します。
(以下hosokuプロジェクト内に実装します)
まずはライブラリの配置を行います。
jstl-api-1.2.jarとjstl-impl-1.2.jarをhosoku/src/main/webapp/WEB-INF/libにドラッグ&ドロップしてください)
コード10-1のUserクラス(名前:User)を作成します。modelパッケージです。
コード10-2のMutterクラス(名前:Mutter)を作成します。modelパッケージです。
コード10-4のLoginLogicクラス(名前:LoginLogic)を作成します。modelパッケージです。
コード10-5のLoginサーブレット(クラス名:Login)を作成します。servletパッケージです。
コード10-6のindex.jspファイル(ファイル名:index.jsp)を作成します。hosoku/src/main/webappフォルダに保存します。
コード10-7のloginResult.jspファイル(ファイル名:loginResult.jsp)を作成します。 hosoku/src/main/webapp/WEB-INF/jspフォルダに保存します。
コード10-10のLogoutサーブレット(クラス名:Logout)を作成します。servletパッケージです。
コード10-12のlogout.jspファイル(ファイル名:logout.jsp)を作成します。 hosoku/src/main/webapp/WEB-INF/jspフォルダに保存します。
コード10-13のPostMutterLogicクラス(名前:PostMutterLogic)を作成します。modelパッケージです。
コード10-14のMianサーブレット(クラス名:Main)を作成します。servletパッケージです。
コード12-6のmain.jspファイルを作成します。 hosoku/src/main/webapp/WEB-INF/jspフォルダ内に保存します。
index.jspを実行します。完全に動作することを確認してスクショを報告してください。
うまくいかない場合は以下のhosokuプロジェクトの構成を確認してください!!