2019/10/02:WEBアプリケーションの概要・環境構築
Webアプリケーションの概要
WebアプリケーションとはWebブラウザを使用し、様々なサービスを提供するアプリケーションの事で
オンラインショッピング、検索サイト、掲示板、ブログ・・等などが挙げられる
主なWebアプリケーションの形態
●クライアントサイド技術
・ユーザ環境(ブラウザ)で実行するプログラムとして実行
・JavaScript
●サーバサイド技術
・サーバ(APサーバ)で実行するプログラムとして実行
・CGI(Perl, C)
・PHP
・ASP(VBScript)
・ASP.NET(C#,VB.NET)
・サーブレット/JSP(Java)
クライアントサイド技術の処理の流れ
1.WebサーバへHTTPリクエスト 2.WebサーバからHTTPレスポンス(htmlファイル) 3.2で受け取った内容をクライアントサイドで実行 Webブラウザに実行されているスクリプトエンジンによりプログラム(スクリプト)を
実行する為、プログラムの実行環境がWebブラウザに大きく依存する
サーバサイド技術の処理の流れ
1.WebサーバへHTTPリクエスト
2.WebサーバからAPサーバへ処理を要求
3.APサーバ内で必要処理(コンパイル等)をし必要なファイル等を準備
4.3で生成したプログラムファイルを実行
5.4で出力された内容を応答データ(HTMLタグ等)として扱う
6.5の応答用データ(html)をHTTPレスポンス
7.6で受け取った内容をクライアントサイドで実行
Webブラウザが受け取るデータは、純粋なHTMLファイル
Webアプリケーションサーバ(APサーバ)
●Webアプリケーションを実行するサーバ
・プログラムの実行は全てサーバ内で行う
・プログラムの実行に際してWebブラウザに依存しない
●Webサーバの機能を含む
・WebブラウザとHTTPで通信
・プログラムで処理された内容は、WebブラウザにHTMLで送信される
サーブレットとは(JSP/Servlet)
APサーバ上で動作するJavaプログラム・クライアントからの要求に対して処理を行い、結果をHTMLとして返す
・実行するには、サーブレットコンテナが必要
サーブレットコンテナとはJSP/Servletを処理するためのAPサーバ
代表的な製品として下記のようなものがある
・Apache Tomcat
・WebLgic(Oracle社 ※旧BEA Systems社)
・WebSphere(IBM社)
・OracleApplicationServer(Oracle社)
サーブレットとJSP
JSP(Java Server Pages)・HTMLの中にJavaコードなどを挿入した記述形式
・ソースファイル名:~.jsp
・コンパイルするとサーブレット(.classファイル)に変換される
※はじめてWebブラウザでアクセスされたときコンパイルされる
サーブレット(Servlet)
・APサーバで処理されるJavaプログラム
・Javaソースファイル(~.java)からjavacコマンドなどでコンパイル
された.classファイル
※※※※※※
以降、サーブレットもしくはServletとは、~.javaファイルから作成する
サーブレットの事を指す。
※※※※※※
演習環境の準備(環境構築)
OS:Windows7JDK:JDK1.8
APサーバ:Tomcat8
データベース:MySQL5.7
開発環境:Eclipse 4.6 Neon
JSP2.3
Servlet3.1
※pleiades-4.6.3
pleiades解凍(解答ソフトに注意)
↓
システム環境変数を新規作成(変数名:JAVA_HOME、変数値:解凍場所\pleiades\java\8)
↓
pleiades\tomcat\8\bin\startup.batを実行しTomcatが立ち上がるかを確認
「http://localhost:8080/」にアクセスが出来ればOK
この時バッチファイル実行時、一瞬で終了してしまう場合は、解凍の失敗か、環境変数設定を見直す。
APサーバの構成(Tomcat)
Tomcatについて・Apache Tomcat Project(http://tomcat.apache.org/)
・オープンソース
・Tomcat 8系(Servlet3.1 / JSP2.3 、JDK1.7以降が必要)
Tomcatのディレクトリ構造
・bin :Tomcatの起動、停止
・lib :jarファイル(servlet-api.jar)
・conf :設定ファイル(server.xml,web.xml)
・logs :ログ
・temp :一時ファイル
・work :JSPから変換された.classファイル(サーブレット)
・webappps:Webアプリケーション用
Webアプリのフォルダ構成