Webアプリケーションと JSPの基本 ソフトウェア特論 第4回 この講義のWebページ http://www.wakhok.ac.jp/~tomoharu/tokuron2003/ きょうの内容 Webアプリケーションの概要を知る。 JSPの基本について理解する。 Webアプリケーションとは何か Webアプリケーションとは、「ユーザがWebブラウ ザを使って何かを入力し、必要な結果を得る」Web ページ。 – サーチエンジン、本の検索、商品の購入、掲示板など Webアプリケーションの仕組み (1) 3層モデル Webアプリケーション (J2EE) の基本パターン Webアプリケーションの仕組み (2) 動的なページの作成 動的なページ → ユーザからの入力に応じて出力 結果が変化 静的なページ → 普通のページ 通常は CGI – – CGIは呼ばれるたびにプロセスを生成するので、遅くな る。 セッション管理が大変。 Webアプリケーションの仕組み (3) Servlet と JSP Servlet – – JSP – – HttpServlet を継承する Javaプログラム。 HTML を埋め込める (あまり使わないけど) ほとんどHTML Javaプログラムを埋め込める (あまり使わないけど) どちらも「Webコンテナ」で動く。 普通は Servlet と JSP を組み合わせて使う。 Webアプリケーションの仕組み (4) データベースの必要性 Webアプリケーションは「データ」を処理する。 – – – 図書データ 在庫リスト 掲示板の記事 「データ」は保存される (= 永続性を持つ) データベースを使うと面倒がなくて良い。 – データをただのファイルで保存しておくと、遅いし面倒。 HTTP 最初に、ホスト名とポート番号を使って接続を確立 「要求」を出して「応答」がくる。 ブラウザが応答の中身を表示する。 http://localhost:8080/examples/jsp/i ndex.html を見る場合 URL を解釈する localhost の 8080 番に接続 「/examples/jsp/index.html をくれ!」 (要求) 「はい、お渡しします」と index.html を渡す (応答) Index.html を表示 JSP とは? JavaServer Pages の略 HTML のソースに次のものを付け加えている。 – – 特殊なタグ Javaプログラム JSP のサンプルから (1) 特殊なタグとJavaのプログラム <% for (int i = 1; i <=5; i++) { %> <p>サンプル <%= i %></p> <% } %> JSP のサンプルから (2) for 文の対応関係 <% for (int i = 1; i <=5; i++) { %> <p>サンプル <%= i %></p> <% } %> 出力例) サンプル 1 サンプル 2 サンプル 3 サンプル 4 サンプル 5 JSP の要素 (1) ディレクティブ JSPページ全体に関わること <%@ page pageEncoding=“Shift_JIS” page contentType=“text/html; charset=Shift_JIS” %> <%@ page import=“java.uti.Date” %> JSP の要素 (2) 宣言 JSP ページで利用される変数 <%! Int i = 0; %> <%! Circle c = new Circle(2.0); %> JSP の要素 (3) 式 Javaの式 返す値に toString メソッドを適用して得られる文 字列に置き換わる <%= i %> <%= df.format(d) %> JSP の要素 (4) スクリプトレット Javaのプログラム <% for (int i = 1; i <=5; i++) { %> <p>サンプル <%= i %></p> <% } %> HTMLのフォーム (1) 画面イメージ Webブラウザから何かを入力してもらうために使う。 HTMLのフォーム (2) HTMLのソース <p>姓名を入力してください:</p> <form method=“get” action=“name.jsp”> <p>姓: <input type=“text” name=“familyName” /></p> <p>名: <input type=“text” name=“givenName” /></p> <input type=“submit” value=“実行” /> <input type=“reset” value=“キャンセル” /> </form> フォームとプログラム 「実行」ボタンが押されると、HTTPの要求を用いて、 フォームに入力したデータがプログラムに渡される。 プログラムに渡すときは、HTTPの次のメソッドを 使う。 – – GET POST HTTPの要求・応答とJSP 要求の処理には、request という変数を使う。 – – – – request.getMethod() request.getRequstURI() request.getProtocol() request.getRemoteAddr() 応答の処理には、response という変数を使う。 JSPを使ったクエリーの処理 <%= request.getParameter("familyName") %> getParameter というメソッドを使って、 familyName パラメータの値を取得する。 GET でも POST でも利用できる。 Tomcat Jakarta Project が作成している Webコンテナ Javaで書かれている オープンソース Servlet や JSP を動かすために必要 Apache に組み込んで使える Tomcat 単独でも Webサーバとして使える Tomcat のインストール J2SE が必要 環境変数をセットする – – JAVA_HOME と CATALINA_HOME それぞれ、Java と Tomcat がインストールされている フォルダを指定する ポート番号を変更する (本学実習室の場合) インストール時に「NTサービス」にチェックを入れ ない方がよい。 TomcatにWebアプリケーションを置く %CATALINA_HOME%/webapps/ に配置 ひとつのファイル (war ファイル) にまとめても良い。 test/ | |-- WEB-INF/ --- web.xml | |- classes/ | |- lib/ |-- loop.jsp 必須 Servlet などのクラス 使用するライブラリ JSP Webアプリケーションへのアクセス どこのホストで動いている? どのポートで動いている? どのWebアプリケーションを動かす? この例では http://localhost:8080/test/loop.jsp
© Copyright 2024 ExpyDoc