まるに サーブレットとJSP 2:)
今回は
2章〜
作ったWebページを公開するはなし
作ったWebページを公開するならWebサーバがないと
Webサーバというのは常時稼働しててブラウザからのアクセス(要求)をずっと待ってる大変なひと
ブラウザからWebサーバへの要求をリクエスト
Webサーバからブラウザへの応答をレスポンスという
WebサーバはリクエストされたらHTMLファイルとかWebページの中身をブラウザにレスポンス
Webページを公開する場合はWebサーバに公開したいWebページのHTMLファイルを配置する(Webサーバの中に入れとくって感じなのかなぁ?)
Webサーバに配置されたHTMLファイルにはURLという住所みたいなものがあって
Webページを見ようと思った人はどのHTMLファイルがみたいかをURLを使ってブラウザに指示することになっている
ブラウザとWebサーバ間の通信でどんなデータをやり取りするかはHTTP(プロトコル)で決められているらしい
リクエストの場合はリクエストラインというのがあって
・リクエストの方法
・リクエストの対象
・使用するプロトコル
という情報で構成されてる
リクエストの方法が1番大事らしくて(リクエストメソッドという)
これには2つの方法があってどんなことをWebサーバに要求するかで使い分けている
・GETリクエスト(WebサーバからWebページの情報を取得するためのやつ)
・POSTリクエスト(アンケートフォームなどの情報をサーバに送りたいときのやつ)
レスポンスの場合はステータスラインというのがあって
・使用するプロトコル
・動作結果
の2つでリクエストを受けてWebサーバの動作した結果が表示される
動作結果のことはステータスコードといってリクエストが成功したことやサーバ内でエラーが発生したことを教えてくれる
レスポンスの2行目移行のヘッダ部にはContene-Typeヘッダというのがあって
ボディ部がなんのデータかを示しているらしい
Webサーバは画像や動画もレスポンスできちゃうからデータの中身はこれですよ〜って教えてあげないとブラウザは正しく情報を読み取れないらしい
次はWebアプリケーションについて
WebアプリケーションはアプリケーションをWebサーバで公開してブラウザで実行できるようにしたもの
インターネットショッピングや検索もWebアプリケーションらしいけど・・・
Webアプリケーションが動作した結果表示される画面がWebページ
Webアプリケーションの中核はサーバサイドプログラム(ブラウザのリクエストによってサーバ上で動作しその実行結果をHTMLでレスポンス)
サーバサイドプログラムをJavaで開発する場合は
・サーブレット(サーブレットクラスというブラウザから実行できる特別なクラスを使用してサーバサイドプログラムを実現する)
・JSP(JSPファイルというプログラムを使用してサーバサイドプログラムを実現する)
というものが使える
JSPファイルはなぜか実行の際にサーブレットクラスに変換される
通常のWebサーバはHTTPを使ってブラウザと通信する機能は持っているけど
プログラムを実行する機能は持っていなくて、実行する機能を別に追加する必要がある
プログラムを動かす機能(実行環境)を持つWebサーバのことをWebアプリケーションという(アプリケーションサーバ内のサーブレットクラスを実行するサーブレットコンテナを含める)
開発環境はPleiades(プレアデス)というソフトウェアをインストールすれば全部揃う(統合開発環境Eclipse・開発に便利な機能(プラグイン)・WebアプリケーションサーバApacheTomcatがセットになってる)
統合開発環境はエディタと開発に関わるツール(コンパイラ・デバッガなど)を統合したソフトウェアでIDEとも呼ばれる
Webアプリケーションのためのプロジェクトを動的Webプロジェクトといい動的WebプロジェクトのなかにWebアプリケーションを構成するプログラムなどを入れることができる
動的WebプロジェクトのプロジェクトとはアプリケーションなどひとまとまりのものをいれるEclipseの単位
どうでもいいけどEclipse設定めっちゃ難しかった
2章はこんな感じだったけど
イメージがまだあいまいかも
何周かしたから最初よりはわかるけど語句の意味とか整理しとかな
次はサーブレットの基礎だ〜
QA
・Webサーバが落ちたらどうなるのか
→エラー(50x)が出る
→notfound(40x)
→ただいまページが混み合っていますみたいなあれ
・オープンソースと商用製品の違い
最新のオープンソースはここ変えたいとかこんな機能ほしいとかを個人が付け加えられたりバグを見つけてもらえたりいろんなメリットがある
商用製品はどっかの会社がだしてるけど金融機関とかお金が絡んだりしてる のはこっちを使う
・JSPファイルはなぜ実行の際にサーブレットクラスに変換されるか
人間にとってわかりやすようにサーブレットとJSPにわかれているだけだから実行の際にはひとつにもどる