JavaでWebアプリを作ろう

はじめに

本サイトの「JavaでWebアプリを作ろう」は、JavaでWebアプリを開発するための基礎知識をまとめています。

はじめに、WebアプリとWebサイトの違い・具体例を以下の図にまとめましたので参考にしてください。

Webアプリ

Webアプリ

【Webアプリ】:動的コンテンツをレスポンス(応答)する。
Webクライアント(PCやスマホのブラウザ)からのリクエスト(要求)により、 Webサーバ上のWebアプリが動的コンテンツ(Webアプリで生成したHTML)をレスポンス(応答)します。

Webサイト

Webサイト

【Webサイト】:静的コンテンツをレスポンス(応答)する。
Webクライアント(PCやスマホのブラウザ)からのリクエスト(要求)により、 Webサーバが静的コンテンツ(固定のHTML)をレスポンス(応答)します。

Webアプリ(具体例)

Webアプリ具体例

検索条件に「ねこ」を入力後、【検索】ボタンをクリックすることで、同一画面に検索結果(「ねこ」の一覧)を表示します。
※「ねこ」の項目を追加しても画面を修正する必要はありません。

Webサイト(具体例)

Webサイト具体例

画面上の「ねこ」文字をクリックすることで、別画面に「ねこ」の一覧(固定画面)を表示します。
※「ねこ」の項目を追加する毎に画面を修正する必要があります。

システム構成

Webアプリのシステム構成とWebアプリの位置付けは以下の通りです。
ここでも、WebアプリとWebサイトの違いを以下の図にまとめましたので参考にしてください。

Webアプリ

システム構成1

Webサイト

システム構成2

図の説明

項目 内容 説明
Apache Apache HTTP Server Webサーバ。テキスト、HTML、画像等の静的コンテンツを提供する。
Tomcat Apache Tomcat APサーバ。JavaをWeb上で動かすためのソフトウェア。
Webアプリ - Webアプリケーション。動的コンテンツを生成する。
DB DataBase データベース管理システム。

開発環境

Webアプリの開発環境は以下の通りです。
Eclipse(統合開発環境)、JDK(Java開発キット)の他、データベースにアクセスするためのJDBC/D(JDBCドライバ)が必要になります。
尚、本開発環境はフレームワークを使用しない純粋なJavaのみの開発環境です。

Webアプリの開発環境

開発環境

図の説明

項目 内容 説明
Eclipse 統合開発環境(IDE) Javaの開発ツール。本ツールでコード修正、コンパイル、デバッグが行える。
JDBC/D Java DataBase Connectivity Driver JDBCドライバ。JavaからDBにアクセスするための標準インターフェース。
JDK Java Development Kit Java開発キット。Javaで開発を行うためのパッケージ。

開発言語

Webアプリを開発する上でJava言語以外に必要な開発言語は以下の通りです。
また、Web開発におけるバックエンドとフロントエンドは開発言語で異なります。

Webアプリの開発言語

開発言語

図の説明

項目 内容 説明
Java - オブジェクト指向の汎用プログラミング言語。
SQL Structured Query Language データベースを操作するための言語。
HTML Hyper Text Markup Language Webページを記述するための言語。
JSP Java Server Pages HTMLにJavaプログラムを埋め込んだファイル。
CSS Cascading Style Sheets Webページのスタイルを定義するための言語。
JS JavaScript Webページに記述したプログラムをブラウザ上で実行するための言語。
バックエンド - データ処理側。Java、SQL(DB)の開発をバックエンドと呼びます。
フロントエンド - Webページ側。HTML(JSP)、CSS、JSの開発をフロントエンドと呼びます。

インターフェース

Webアプリのインターフェースを説明します。

Apache⇔Tomcatインターフェース

ajpプロトコル

ApacheとTomcatを連携するためのインターフェースです。
ApacheからTomcatに接続するには、ajp(Apache JServ Protocol)プロトコルを使用します。
(1)WebクライアントからのURLをApacheが受け付けます。
(2)ApacheはアクセスされたURLをajpプロトコル用に書き換えてTomcatと通信を行います。ajpプロトコルは8009番ポートを使用します。

おわりに

本サイトの「JavaでWebアプリを作ろう」は随時更新しています。
Webアプリを開発する上で少しでも参考になれば幸いです。

TOP