開発でよく出てくる単語をまとめました。新人SEの方は是非保存してください。
ブラウザ
普段、利用者がみている画面。サーバに要求したり、送られたものを受け取り、閲覧可能にする。
サーバ
ブラウザからの要求に対してHTMLファイうrなどのwebページの中身をブラウザに送信する役割。
そのため、サーバに後悔したいwebページのHTMLが配置されている必要がある。
ブラウザからの要求をリクエスト、
サーバからの応答をレスポンスという。
localhost:8080
localhostとは、ブラウザと同じコンピュータにリクエストする場合のリクエスト先のサーバのホスト名の事。
ネットワークでつながっているコンピュータのうち、自分の使っている方のこと。
「:」の後ろはポート番号。
これは、リクエスト先のコンピュータ内のどのソフトウェアにリクエストするかを表す番号。
ホスト名が住所で、ポート番号は宛先。
リクエスト
リクエスト時に必要な物
リクエストの時に必要なのは「URL」。
URLには以下の記載がある。
+ サーバのホスト名・IPアドレス(誰に頼むのか)
+ HTMLファイル名(どのHTMLファイルが見たいのか)
→URLはリクエストするためのものだから、URLを押すと別のページに遷移できる!
http;//<サーバ名>/<アプリケーション名(プロジェクト名)>/<ルートからのパス>
リクエストの中身
- リクエストの方法:どんなことをサーバに依頼するのか
- GETリクエスト:webページの情報を取得
- POSTリクエスト:アンケートフォームなどの情報をサーバに送りたい時など
- リクエストの対象:ファイル名
- 使用するプロトコル:HTTPとか
HTTP
ブラウザとサーバがどのようなデータをやり取りするかを定めたルール(プロトコル)の一種。
レスポンス
- 使用するプロトコル
- 動作結果
- 200OK:リクエスト成功
- 404Not Found:対象が見つからない(URLが間違えている可能性がある)
- 405 Method Not Allow:対象が使用したリクエストメソッドを許可していない
- 500Internal Server Error:サーバ内部でエラー
- Content-Typeヘッダ:データの中身が何か
- ブラウザはレスポンスのボディ部の前にヘッダ部を読み取るため
サーバサイドプログラム
ブラウザのリクエストにより、サーバ上で動作し、実行結果をHTMLでレスポンスする一連の流れ。
開発言語がJavaの場合、ここで必要なのがサーブレットとJSP。
サーブレット
Javaを用いてサーバサイドプログラムを実現する技術。
Webサーバ上でお仕事をするJavaのプログラム。
サーブレットクラスという特別なクラスを作る。
詳細はこちらの記事で。
https://qiita.com/juri_engineer/items/acf861f6f5c2100e5a66
JSP
サーブレットと同じ役割。
実行の時にサーブレットに変換される。
詳細はこちらの記事にて。
https://qiita.com/juri_engineer/items/370d41791fc180d6065b
アプリケーションサーバ
先ほどの「サーバ」は、HTTPでブラウザと通信することはできるが、プログラムを実行することはできない。実行までできるサーバをアプリケーションサーバと呼ぶ。
特に、サーブレットクラスの実行環境のことをサーブレットコンテナと呼ぶ。
Tomcat
サーブレットコンテナのひとつ。
Javaサーブレットとは、Webサーバで動くJavaプログラムのことであり、サーブレットコンテナによって動かされる。
HTTPリクエストなどがサーブレット宛てに依頼されると、まずサーブレットコンテナが受け取って、サーブレットコンテナからサーブレットに命令される。
Seaser
Java EEによる大規模開発を効率的に行なうためのフレームワーク
Doma
S2Daoのスタイル(DAOパターンや2 Way SQL)を踏襲したJava6(JDBC4.0)対応のO/Rマッパー
O/Rマッパー
オブジェクト指向プログラミング言語におけるオブジェクト(Object)とリレーショナルデータベース(RDB)の間でデータ形式の相互変換を行うこと。
データベース管理システム(DBMS)へ操作を依頼するSQL文などを生成・発行するコードをプログラム中にその都度記述しなくても、あらかじめ設定された対応関係についての情報に基づき、インスタンスのデータをデータベースの対応するテーブルへ書き出したり、データベースからデータを読み込んでインスタンスに代入したりといった操作を自動的に行なってくれる。
データベース
データの保存先など、テーブルの入れ物。
データベースのデータ管理がDBMS(データベース管理システム)。
DBMSに指示をする専門言語がSQL
eclipse1ではH2Databaseを使うことが多い。
H2Databaseは、Javaで作成されており、本体は一つのJarファイルで構成されている。Jarファイルwpクラスパスに追加するだけで使用できるので、導入が簡単。
JDBCやDAOパターンの詳しい説明はこちら
https://qiita.com/juri_engineer/items/ec5ce56437c23bf813ed