JSPとサーブレット』入門

『JSPとサーブレット』入門
システムエンジニアリング演習
2003年1月28日
CGIの限界
• CGIによる動的なサービスの限界
クライアント
多くのメモリを消費
し、CPUへの不可
が大きくなる。
プロセス1
Webサーバ
クライアント
CGI
プロセス2
Webサーバソフトウェア
別
々
に
動
作
クライアント
クライアント
への応答
が遅くなる。
プロセス3
2
サーバサイドスクリプティング
• サーバサイドスクリプティングとは、Webサーバソフト
ウェア自体にCGI機能を組み込んでしまう技術。ASP
JSP
クライアント
Webサーバ
TSS
Webブラウザ
OS
要求
Webサーバ
ソフトウェア
スクリプト
実行エンジン
スレッド1
プロセス
(process)
生成
起動
スレッド2
・・
・
スレッドn
応答
3
ASPとJSP
Active Server Pages(ASP)
⇒ マイクロソフト
Java Server Pages(JSP)
⇒ サン・マイクロシステムズ
• 動的なWebページを作成するためのスクリプト
技術。
• ASPがマイクロソフトの開発環境に依存している
のに対し、JSPはJavaを利用できるほとんどの環
境に対応。
4
ASP
• サーバサイド・スクリプトであるASPによって開発された
Webページには、ページ・レイアウトやフォント、グラ
フィック要素の位置などを定義するためのHTMLと、マ
イクロソフトのスクリプト言語で書かれたプログラミン
グ・コードが埋め込まれている。
• ASPの多くは、Visual Basic ScriptかJavaScriptを使って
開発されている。ただし、サードパーティ・ベンダーから
提供されているスクリプト・エンジンを利用すれば、Perl
等のスクリプト言語もASPの開発に利用できる。
5
JSP
• HTML内にJavaやコンポーネントを直接埋め込むことによって、動的
なWebサイトを容易に実現する技術。ASPのJava版。
クライアント
Webブラウザ
Webサーバ
要求(○○○.jsp)
UNIX系OS/Windows Server
HTMLファイル
を“○○○.jsp”
として保存
Java Web Server etc.
JSP (Java Server Pages)
JSPはOS
を限定せず、
Javaをそのま
ま使える。
応答(HTML)
○○○.jsp
HTML
JSPによって○○○.jspのJavaやEJB部
分が実行され、HTML化される。
JavaタグやEJB(Enterprise
JavaBeans)を含むHTML
HTML
Java/EJB
6
Javaプログラムの種類
• Javaプログラムは動作環境により、次の3種類
に分類される。
種
類
説
明
Javaアプリケーション
単独で動作するプログラム。Swingのよう
な優れたユーザインターフェイスを持つ。
Javaアプレット
WebサーバからWebブラウザ側へ配信さ
れ、Webブラウザにより実行されるプログ
ラム。
Javaサーブレット
Java対応のサーバ上で動作するプログラ
ム。アプリケーションのように単独で動作
するのではなく、プログラムモジュールの
1つとして動作する。
7
Javaアプレット
• Javaアプレット(Javaコンパイラによって生成され
たプログラムモジュールで、.classという拡張子を持
つ)は、HTMLページによってWebブラウザに読み
込まれ、Webブラウザに組み込まれたJava VM(イ
ンタプリタ)によって実行される。
Applet.class
ダウンロード
Applet.class
Java VM
Webブラウザ
Webサーバ
クライアント
8
Javaサーブレット
•
Javaサーブレットは、サン・マイクロシステムズが提供
するJava Web Server上で動作するプログラムモジュール
(Javaプログラム)。Javaアプレットとは対照的にクライ
アント(Webブラウザ)にプログラムをダウンロードせ
ず、サーバ側でプログラムを実行する。
クライアント
Webブラウザ
Webサーバ
入力情報など
HTML応答
JSPは処理結果
のHTMLでの応
答を担当する。
プロセスではな
く、スレッドと
して起動される。
(スレッドはメ
モリ消費量が少
ないので、リ
ソースを効率的
に利用可能)
Webサーバソフトウェア
(Java Web Server etc.)
スレッド1
サーブレット
エンジン
(Java VM)
(サーブレット)
サーブレット
スレッド2
・・
・
スレッドn
JSP(JSPファイル)
Java VM
にクラス
ファイル
がロード
される。
9
Webサーバソフトウェア
Webサーバソフトウェア
Webサーバがクライアントからの要求に応えて、HTTPに
よるHTML情報の配信を可能にするソフトウェア。Web
サーバに常駐して、クライアントからの要求を待つ。
Webサーバソフトウェアの代表例
Apache : 最も代表的なもの(フリーウェア)
IIS(Internet Information Server) : Windows環境で用いられ
る。Windows2000 Serverで標準。ASP対応。
Netscape Enterprise Server : Netscape社。Java対応機能
強化
Java Web Server : マイクロシステムズ社。JSPなど、Java
環境をWebサーバ上に構築するのに最適。
10
Webアプリケーションサーバ
Webアプリケーションサーバ
Webサイトにおいてユーザからの要望に応える
ため、様々に特化した業務処理を行うコン
ピュータ、もしくはソフトウェア。 ⇒ TOMCAT
ODBC (Open DataBase Connectivity)
OLE DB(OLEを用いたデータベースアクセス用
のプログラミングインターフェイス。
JDBC (Java DataBase Connectivity)
ODBCのJava環境版。SQLを用いてデータベー
スを利用できる。
11