見出し画像

職業訓練でJavaを学ぶ!27日目(1/3)「Javaプログラミング実習(JSP/Servlet編)」

職業訓練で、Javaを使ったWebシステム開発・Androidアプリ開発を学ぶことになりました。復習かねて情報発信をします!
これから職業訓練に通うことを検討している方の参考になれば嬉しいです。

↓↓職業訓練に通うことになった経緯はこちら
https://note.mu/yukoro/n/ned8d43b0110d

本日の授業内容

・Webシステム入門 ←この記事
・JSP入門
・JSP基礎


Webシステム

Webシステムとは、WebサーバやWebブラウザなどのWebに関連する技術により構築されたシステムを指します。

次のようなものの裏側ではWebシステムが動いています。

– ショッピングサイト
– SNSサイト
– ブログサイト
– 顧客管理システム
– コンテンツ管理システム
– 施設予約システム

例えばショッピングサイトのAmazonでは、購入する、商品を調べる、口コミを見るなどの様々なWebシステムが備わっています。

単純に見るだけのWebサイトであれば、HTMLやCSSのみで実装することも可能ですが、ユーザーが操作することのできるWebサイトでは、Webシステムを実装します。

またここでのWebサーバは、ブラウザのようなクライアントからの要求(リクエスト)に対して、応答(レスポンス)を返す役目を担っています。


■静的ページと動的ページ
今回書いていく Servlet や JSP はJavaのWeb対応用の技術で、Webサーバ上で動作して動的ページを生成してくれます。

動的ページとは何なのか、というのを静的ページとの違いと共に見てみましょう。

・静的ページ
URLを通じて送られたレスポンスを元に、あらかじめ準備されていたHTMLページをWebサーバー上から探して、レスポンスとして返す場合、このようなページは「静的ページ」と言います。

・動的ページ
URLを通じて送られたレスポンスを元に、WebサーバープログラムがHTMLページをServletに生成させ、その生成したHTMLをレスポンスとして返す場合には、そのページは「動的ページ」と言います。

■JavaとWebシステム
Javaの基本となる Java SE に、JavaをWebシステムとして使うために、サーバーサイド技術として Servlet や JSP などを追加したものを「Java EE」と言います。
※Java EE 9以後はJakarta EEの名で開発が進められることになりました。

JavaのWebシステムとしての進化の流れ
---------------
ServletJSP/Servlet → JSP/Servlet/フレームワーク
---------------


■JavaでのWebシステム開発とフレームワーク
JavaでWebシステム開発を行う際は、便利な機能やライブラリを利用できるフレームワークを使うのが主流になっています。

フレームワークを活用することで、プログラミング初心者でも、Web対応用のJava技術であるJSP/Servletを使ったWebシステムを、効率よく開発しやすくなります。

JavaのフレームワークはStruts, Spring, Seasar2, Playなど、様々な種類がありますが、ここではSpringを使っていきます。


■JSPとServletの役割分担
JSPとServletは動的ページを生成してくれる技術でしたが、それぞれ担う役割が異なります。

Servletは演算やデータベースとの連携などロジック処理が得意なのに対し、JSPはHTML生成など画面出力が得意です。

また、ServletはJavaクラスとしてプログラムを作成するのに対して、JSPはHTMLコードに埋め込む形でJavaコードを記述していきます。

<役割分担と処理の流れ>
クライアントがリクエストを送る

-----サーバー----
①Servletでロジック処理
②JSPでHTMLの生成

------------------

クラアントにレスポンスを返す


■Webシステム開発環境
Webシステムの開発には下記が必要になります。
------------
• Webサーバ(リクエストとレスポンス)
• Webコンテナ/Servletコンテナ(Servlet/JSPでHTML生成)
• データベースサーバ(情報を管理)
• Webブラウザ(動作確認)
• 統合開発環境
------------


今回はこちらを使用していきます。

Webサーバ:Apache
Webコンテナ:Tomcat
データベースサーバ:MySQL
Webブラウザ:Chrome
統合開発環境:Eclipse

Eclipseを導入していれば、MySQLを準備するだけで基本OKです。

<全体の役割分担と処理の流れ>
     [クライアント]
リクエスト | レスポンス
 ①↓      ⑥↑
--------- サーバー --------
Apache(Webサーバー):HTML
 ②↓      ⑤↑
Tomcat(Webコンテナ):Servlet/JSP
 ③↓      ④↑
MySQL(DBサーバー):DB
----------------------------


■Eclipseの各種設定
JSPファイルのエンコード設定
Eclipseメニュー > ウィンドウ > 設定
 - 「Web」を選択
 - 「JSPファイル」を選択
 - 「UTF-8」 を選択

Emmetの設定
Eclipseメニュー > ウィンドウ > 設定
 - 「Emmet 」を選択
 - ...in files with extentions の項目の最後に「, jsp」を追加

Tomcatの準備
Eclipseメニュー ≫ ファイル ≫ 新規 ≫ その他
 - 「サーバー」を選択
 - 「次へ」をクリック
 - サーバータイプ「Tomcat v8.5 サーバー」を選択
 - 「完了」をクリック
→パッケージ・エクスプローラーに[Servers]というプロジェクトが作成される

パースペクティブの設定
EclipseはJava EEのパースペクティブにしておくと作業を行いやすいです。
ウィンドウ ≫ パースペクティブ ≫ パースペクティブを開く ≫ その他
 - 「Java EE」を選択


Webシステム入門については以上です。

最後までお読みいただきありがとうございました!

この記事が気に入ったらサポートをしてみませんか?