Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development.

Slides:



Advertisements
Similar presentations
オリジンのはなし. NetAgent Shibuya.XSS Feb What is "Origin" ?  オリジン  Same-Origin Policy  クロスオリジンなんとか…  RFC6454 "The Web.
Advertisements

年度 J2EE II 稚内北星学園大学 情報メディア学部 専任講師 安藤 友晴. 2 この講義の位置づけ 3年前期の「データベース論 (J2EE I) 」に続く講義。 「データベース論」の講義内容を理解 していることが前提。
ネットワークプログ ラミング論 平成27年 11 月 1 6日 森田 彦. 【基礎課題 6-1 】の解答 ① サーブレットを記述して保管するとコン パイルが自動的に行われる。 ② サーブレットの記述後、開発者がコンパ イル命令を実行しなければならない。 ③ プロジェクト名が Web アプリケーション.
Web アプリケーション開発 ~図書館管理システム~ 北海道情報大学 情報メディア学 部 情報メディア学科 新井山ゼミ 高橋 隼.
1 JSP の作成 JSF による Web アプリケーション 開発 第 4 回. 2 ここでの内容 JSF での JSP の作り方と動かし方につい て学ぶ。
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
ASP入門 - Windows 2000 Server 活用 -.
社会人学習講座 「Javaプログラミング概論」
難しいことは置いといて、 取り合えず 「BlazeDS」 を使って、 Flash、AIRアプリから Javaオブジェクトのメソッドを呼び出すための 手順書(Windows版) 2008年2月 Lecce.
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
WebサービスII (第10回) 2007年11月28日 植田龍男.
エンタープライズアプリケーション II 第10回 / 2006年7月23日
Servlet J2EE I 第8回 /
アプレット (Applet)について.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成27年10月12日 森田 彦.
卒研:データベースチーム 第4回 JSP、サーブレット
5.WEKOコンテンツ登録 準備 マニュアル Version 2.1
JavaServlet&JSP入門 01K0018 中村太一.
Webアプリケーション.
第4回 個人の動画配信補足のためのWeb構築
Web App Semi 2008 #1 Web App Semi 2008 #1.
HTTPプロトコルとJSP (1) データベース論 第3回.
Webを利用した授業支援システムの開発 北海道工業大学 電気電子工学科 H 渋谷 俊彦.
Curlの仕組み.
HTTPプロトコル J2EE I 第7回 /
経済学のための情報処理 ホームページの作成.
Servlet入門(2) 入力フォームをつかったWebアプリ
ネットワークプログラミング論 平成28年10月17日 森田 彦.
ServletによるWebアプリ作成 入門
ネットワークプログラミング論 平成28年12月12日 森田 彦.
利用者を識別するWebアプリ を作ろう! 2004年6月10日 武田林太郎.
RMI ソフトウェア特論 第6回 /
第8章 Web技術とセキュリティ   岡本 好未.
2004年度 サマースクール in 稚内 JavaによるWebアプリケーション入門
2003年度 データベース論 安藤 友晴.
ネットワークプログラミング論 平成28年11月21日 森田 彦.
ネットワークプログラミング 中村 修.
データベースを使ったプログラミング ~JDBCを使ってみよう~
TomcatによるWebアプリケーション開発入門
卒業論文発表 「Web アクセスに伴う脅威の特徴分析」
Webアプリケーションの方向性 データベース論 第13回.
ネットワークプログラミング論 平成28年11月7日 森田 彦.
Javaによる Webアプリケーション入門 第6回
ネットワークプログラミング論 平成28年10月31日 森田 彦.
WEBアプリケーションの開発 2002年度春学期 大岩研究会2.
Jakarta Struts (2) ソフトウェア特論 第11回.
Javaによる Webアプリケーション入門 第2回
JAVAについて 高橋 雅哉.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
Javaによる Webアプリケーション入門 第11回
コンピュータ プレゼンテーション.
Servlet ソフトウェア特論 第7回.
Servlet J2EE I (データベース論) 第12回 /
Servlet データベース論 第6回.
高度プログラミング演習 (01).
人を幸せにするアプリケーションの開発 2004年度春学期 大岩研究プロジェクト2 2004年4月8日(木) 発表:武田林太郎.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
Javaによる Webアプリケーション入門 第8回
WebアプリケーションとTomcat ― これまでの復習とこれからの予習 ―
JSPの基本 データベース論 第2回.
JSPの基本 J2EE I (データベース論) 第8回 /
システムプログラミング 第10回 プロセス間通信3 簡易Web server(準備) Chat プログラム 担当:青木義満、篠埜 功
データベース第3回目 意味ごとにテーブルを分ける
アプリケーションゲートウェイ実験 2001.10.5 鬼塚 優.
Webプロキシ HTTP1.1 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

Web アプリケーション開発入門 大岩研究会 今野隆平 2002 年 5 月 9 日 Introduction to Web Application Development

本日の目標 Web アプリケーションを作る!

Web アプリケーションとは Web ブラウザからサーバ上のサービスを受けられる(第 1 回目のサブゼミ より) Web アプリの例として前回とりあげられたものは・・・ 掲示板、検索エンジンなど 質問① 掲示板は Web アプリと言えるか? 動的なページ ≠ Web アプリ 質問② ログインはどうでしょう? それだけでは単なる動的なページ 例:ログイン後に履修登録が行えるからログインを含めて Web 履修シ ステムは Web アプリと言える 上の例を使えば、ログイン画面、ログイン認証プログラム、授業選択 画面、など Web 履修登録に関係するファイルを全てまとめて Web アプ リととらえる Web アプリは人を幸せにするコンセプトを持っている!

サーバサイド Java 技術は Web アプリを作るためにあ る! CGI とサーバサイド Java で Web アプリを2つ作ってみた・・・何が違うだ ろう? サーバサイド Java で Web アプリを作る場合、1つのディレクトリに関連 するファイルをすべて設置する。そしてそのディレクトリを1つのソフ トウェアのように扱う Web アプリ A に関する HTML ファイル サーブレット実行ファイル 画像ファイル などをまとめて管理する /Web アプリ B Web アプリ B に関する HTML ファイル サーブレット実行ファイル 画像ファイル などまとめて管理する loginB.html loginB.cgi /public_h t ml /cgi loginA.html loginA.cgi 例 /Web アプリ A 例 数多くのファイルが関連する Web アプリの扱いが大 変! Web アプリという概念がない CGI は動的なページを作るにとどまる技術 Web アプリを一つのディレクトリで管理する仕組み がある Web アプリという概念がある サーバサイド Java は Web アプリを作るための技術 2 個目を作ると・・・ CGI の場合、どのファイルがどの Web アプリに関連しているのがわかりに くい

main(){ _________ } 普通の Java プログラムの実行 doGet(){ _________ ________ } Servlet プログラムの実行 アプリケーションサーバ サーブレットとは サーバ側で動作する Java のプログラム クライアント(ブラウザなど)から HTTP リクエストがくると実行される HTTP リクエストを受け取り何らかの処理をして HTTP レスポンスで結果 を返す 単独では動作せず、サーブレットを実行できる環境が必要 java HOGE 実行 HTTP リクエスト 実行 サーブレットはアプリケーションサーバが実行する

アプリケーションサーバとは 別名を Web アプリケーションサーバと言う Web サーバを Web アプリケーションのために拡張したもの HTTP で通信する サーブレットなどのサーバサイド Java の実行環境を実装している Web アプリを管理するために便利な機能を持つ 各 Web アプリを一つのディレクトリで管理する 各 Web アプリごとに決まりごとを設定できるなど・・・ Tomcat はアプリケーションサーバの一つである サーブレットコンテナ Web サーバ アプリケーションサーバ Tomcat クライアントと Web アプリが HTTP リクエスト/レスポンスを利用して 対話するときの仲介役になる サーブレット

手順 クライアントとサーブレットが HTTP リクエスト/レスポンスを利用して 対話するのを見る(復習) ① Tomcat を起動する ② DOS プロンプトを開く ③C:>telnet localhost 8080 と打って改行 ④GET /examples/servlet/SampleServlet HTTP/1.1 と打って改行 2 回 するとこんな HTTP レスポンスがサーブレットから帰ってく る HTTP/ OK Content-Type: text/html Date: Wed, 08 May :32:58 GMT Server: Apache Tomcat/4.0.1-b1 (HTTP/1.1 Connector) Connection: close Hello Sample Servlet World! ホストとの接続が切断されました。 クライアントからのリクエストに対して サーブレットが処理した結果を 送信してきたのが分かりましたか? それでは前回作ったサーブレットを GET リクエストで起動して みよう

今行われたことをプログラミングの面から見てみる doGet(HttpServletRequest req, HttpServletResponse res){ GET /examples/servlet/SampleServlet HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd. ms-powerpoint, application/vnd.ms-excel, application/msword, */* Accept-Language: ja Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Host: localhost:10000 Connection: Keep-Alive リクエスト・メッセージ Content-Type: Date: Wed, 08 May :32:58 GMT Server: Apache Tomcat/4.0.1-b1 (HTTP/1.1 Connector) Connection: close レスポンス・メッセージ res.setContentType( “ text/html ” ); PrintWriter out = res.getWriter(); out.println( “ ” ); out.println( “ Sample Servlet World ” ); out.println( “ ” ); } Hello Sample Servlet World! text/html クライアントに処理結果を反映させたレスポンスを送る

Web アプリケーションを作る ① Web アプリ用のディレクトリの 準備 ② WEB-INF ディレクトリを作る ③ web.xml ファイルを作る ④プログラム書く ⑤プログラムをコンパイルする ⑥クラスファイルを配置する したの3つは実習課題です。とりあえず、上の3つを順を追ってみていきましょう。 以下の手順で Web アプリケーションを作ります。

Web アプリケーションには以下の決まりごとが ある Web アプリケーションのファイル構成 /Web アプリ名 /WEB-INF/classes /WEB-INF/lib /WEB-INF /web.xml /index.html /top.gif Web アプリケーションの呼び出し方法 ( web.xml で指定可) サーブレットの呼び出し ホスト名 : ポート番号 /web アプリ名 /servlet/ クラス名 例: HTML ファイルの呼び出し ホスト名 : ポート番号 /web アプリ名 /index.html

Web アプリの宣言 TOMCAT_HOME/webapps/ 直下に新しいディレクトリを作る TOMCAT_HOME/webapps/Web アプリ名 このディレクトリがルートになる アプリ名 / からこの Web アプ リにアクセスする TOMCAT_HOME/ webapps Web アプリ名

TOMCAT_HOME/webapps/Web アプリ名以下に WEB-INF ディレクトリを 作成する その中にコンパイルしたくラスを配置する classes ディレクトリを作る クラスファイルを格納するディレクトリ。 Web アプリケーションを実行する 際にはここがクラスパスに自動的に設定される。作成したサーブレットはこ こに置く必要がある。 そしてさらに jar ファイルを収めるための lib ディレクトリを作る WEB アプリケーションで使う beans などの jar 形式のアーカイブをここに格納 する。実行時には自動的にクラスパスに設定される。ここは今は気にしない ように。 WEB-INF ディレクトリを作る Web アプリ名 WEB-INF classes lib

WEB_INF/web.xml ファイルを作る ディレクトリの準備ができたので、この WEB アプリケーションの設定 ファイルである web.xml を WEB-INF 以下に作成する。 web.xml を使うと Web アプリごとに決まりごとを設定できる! 具体的には以下のようなものが設定できる ①サーブレットの初期化パラメータ ②セッションコンフィグレーション ③サーブレット/ JSP の定義 ④サーブレット/ JSP のマッピング ⑤ MIME タイプのマッピング ⑥ウェルカムファイルリスト ⑦エラーページ ⑧セキュリティー 今回設定するのはサーブレットの定義とマッピングです。ここではとり あえず、骨組みだけ書いて置いて置きましょう。 Web アプリ名 WEB-INF classes lib web.xml 基本ファイル構成の出来上がり

では実習課題 日付を表示するサーブレットを作ってさっきのやり方で簡単 な Web アプリを作る 自分の Web アプリにトップページを加えてください。上で 作ったサーブレットをリンクで呼び出せるようにしてくださ い。 HTML ファイルの置き場所に気をつけてください。