サーブレットについて - CreW 慶應義塾大学大岩研究室

Servlet入門
大岩研究室 川村昌弘
そもそもWEBアプリってなんやねん


この研究会のテーマは『WEBアプリケーショ
ンの開発』でした.
じゃぁWEBアプリケーションって何ですか?

WEBアプリってどんなものがありますか?




検索エンジン
乗換え案内サイト
翻訳/辞書サイト
etc...
普通のWEBページだと…

天気予報が知りたい!
表示しておくれ(Http
Request)
クライアント
天気予報ページ
今日の藤沢の天気は
「晴れ」
です.
WEBサーバ
こんなときは…

今日の藤沢の天気じゃなくって…
明日の天気が知りたいよ
クライアントA
大阪の天気が知りたいねん
クライアントB
花粉情報が知りたいよ
クライアントC
WEBサーバ
WEBアプリだと…

天気予報が知りたい!
表示しておくれ(明日の天気)
クライアントA
明日の藤沢の天気は
「雨」
プログラム
表示しておくれ(大阪の天気)
クライアントB
大阪の天気は「雪」
表示しておくれ(花粉情報)
クライアントC
明日は花粉が多そう
WEBサーバ
WEBアプリ


WEBサーバ上にあるプログラムがクライアン
トの要求内容を判断し,それに応じた応答を
する.
WEBアプリだとうれしいこと


クライアントのリクエスト毎に,WEBサーバがそ
れに応じた内容をクライアントに送信する.
クライアントの要求によって表示する内容を変え
ていくことができる.
WEBアプリを実現する技術

CGI (Common Gateway Interface )


Perlなどで書いたCGIスクリプトが代表的
Servlet

アプレットがブラウザーで実行され、ブラウザーの機能を
拡張するのと同様に,サーブレットはJava対応Webサー
バーで実行され,サーバーの機能を拡張する.
どちらも,サーバ上でプログラムが動き,
クライアントからの要求を処理する.
CGIの動作の仕組み

クライアントからのリクエストがあるたびにい
ちいち起動する.
━
例:掲示板
メッセージ「こんにちは」を
書き込む
発言を表示してくれ
青山
過去の発言一覧を表示
「こんにちは」を書きこんだ
結果を表示
掲示板CGI
掲示板CGI
プログラム
プログラム
起動
起動 WEBサーバ
これだと何が困る?


クライアントのアクセスのたびに起動,終了
を繰り返すのでサーバーに負荷がかかる.
同時にアクセスが起きるとたいへん.
(どっちかが待たされる)
サーブレットの場合

最初のクライアントからのリクエストで起動.以後は
起動したままの状態でサーバに常駐する.
━
例:掲示板
掲示板
メッセージ「こんにちは」を
書き込む
発言を表示してくれ
青山
過去の発言一覧を表示
「こんにちは」を書きこんだ
結果を表示
サーブレット
プログラム
常駐
起動 WEBサーバ
Tomcat


WEBアプリの実行環境(ソフトウェア)
サーバの上でServletプログラムを動かすた
めのフリーのアプリケーションサーバ
では実際にやってみよう…



Tomcatのインストール
起動
サンプルプログラムのコンパイル
配布資料参照