JSPとは?JavaServer Pagesの基礎と書き方を解説!サーブレットとの違いもご紹介
Java、Java Script、JSPやサーブレットなど似たような名前が点在しています。
プログラミングを習い始めた頃やHTML作成に携わり始めた頃は、これらの違いがわかりづらいかもしれません。
プログラミングの初学者の場合、JavaとJava Scriptは同じと認識してしまう方も多いのではないでしょうか。
しかし、両者は全く異なるプログラミング言語です。Javaはプログラミング言語で、Java ScriptはWebプログラミング言語になります。
今回はJavaに関連したJSPについての基礎や書き方、サーブレットとの違いなどについての紹介です。
JSPとは
JSPとは、JavaServer Pagesの略です。プログラミング言語の一つ、Javaで作成した、Webアプリの種類の一つになります。
JSPが主に活用されるシーンは、HTMLを作成する時です。
HTMLを作成する時、プログラミング言語のJavaが使われるトレンドにあります。Javaを使って、HTMLを作成する際に役立つのがJSPです。
JSPは、HTMLを作成する際、Javaのコードを入力するための仕組みを作る役割を担っていて、出力するとHTMLのページを作成できます。
JSPの特徴
JSPの特徴は、HTMLに密接していること、使いやすさやコードを修正しやすいところ、ファイルを実行する際にコンパイルを必要としないところです。
Javaを使ってソースコードを複雑に書くより、JSPを使ってJavaコードを埋め込むことでHTMLを作成するのがグッと身近になります。
埋め込んで作ったJSPファイルをサーバーに置くだけで複雑な手続きや特殊な手続きなどをすることなく、HTMLを作成可能です。
JSPのメリット・デメリット
JSPを活用する上で知っておきたいのは、JSPのメリット・デメリットです。JSPのメリット・デメリットを把握することで、JSPの有効活用を可能にします。
JSPのメリット
JSPを利用するメリットは、実行モジュールが早いこととJavaのライブラリが有効であることです。
JSP以外の場合はその言語に沿ったライブラリになりますが、JSPの場合はJavaの一種なので、Javaと同じものが引き継げます。
もう一つのJSPのメリットは、作業を分業して行えることです。Webデザイナーとエンジニアがそれぞれの長所を活かすことができます。
新たな専門知識を身につけなくても、現在の知識を共有することで大型開発やWebアプリケーションの開発が可能です。
JSPのデメリット
JSPは、実行モジュールが早い、Javaをそのまま使えることなどメリットが多く、使いやすいです。そうなるとJSPだけで全てまかなえるような印象を受けます。
しかし、実際は、JSPだけでは全てをまかなうことは不可能です。
なぜならJSPは、簡素的なHTMLを構成できますが、複雑化されたものには不向きになります。これがJSPのデメリットです。
JSPの始め方
JSPを始めるにあたり、整える環境は、EclipseやDreamweaverなどのツールを準備することとJDKをインストールすることです。
Eclipseなどのダウンロード方法を見るとWndows版をよく目にしますが、EclipseならMac版もあります。
EclipseやDreamweaverについて詳しく知りたい方は、ぜひ以下の記事も併せてご参照ください。
Eclipseの使い方を徹底解説!ダウンロード方法とJavaプログラム実行の手順は?インストールできない時の対処法も確認
Dreamweaverの特徴と使い方を徹底解説!Dreamweaverのメリットと使える機能は?無料体験版の内容もご紹介
ディレクトリの用意
JSPページを作成する際、ファイルをまとめるディレクトリを用意します。コンテキストと記載することもありますが、ほぼ同じ意味です。
目的別にファイルを用意するためにバラバラに配置していてはまとまりません。また、バラバラに配置していたら逐一探すのが手間です。
予め、ディレクトリを作成してファイルをまとめておくことで作業がしやすくなります。
JSPファイル作成
JSPページを作成するのは、HTMLを作成するのと同じです。<html></html>を最初と最後に置き、後はコードを入力するだけになります。
outオブジェクトには、「out.println()」や「out.print()」が一般的に使われます。
JSPページを作成するのは難しくありません。テキストファイルを用意してコードを書き込みます。
JSPは、暗黙オブジェクトが適用されているので、インスタンスの生成に宣言をしなくても自動的にインスタンスを生成が可能です。
HTMLと違うのは、ファイルを保存する際、拡張子が「.jsp」になります。
JSPページの作成方法は、このテキストファイルを保存する際、「.jsp」と拡張子をつけるだけですが、一から作ると手作業が手間です。
ただ、一から手作業で全部を入力するのは、共同作業や開発作業に向いてません。なぜなら、時間と手間がかかりすぎるからです。
その場合は、EclipseやDreamweaverなどのツールを使えば問題解決です。
サーブレットとは
サーブレットとはJava Servletを簡素化した呼び方で、JSP同様Webアプリケーションなどを作るためのプログラミングの一種です。
サーブレットの役割は、Javaとほぼイコールになります。計算処理などのJavaプログラムそのまま使うことができます。
サーブレットのライフサイクル
サーブレットが生成されたから削除されるまで一連の過程をライフサイクルといいます。
サーブレットのライフサイクルは、インスタンスを作成し、実行を繰り返し、不要になれば削除するという過程です。
機能
サーブレットは、APIの機能を最大限に使用し、マルチスレッド、オブジェクトのシリアライズ、JDBCやネットワークとの連携が可能です。
サーブレットは、APIとの相性も良く、標準化されたAPIが増え続けていて、Webアプリケーションの開発の信頼性、簡素化、高速が向上しています。
サーブレットの特徴
サーブレットの特徴は、起動してから終了まで一連の作業を効率的に行うことができます。一連の作業が終了してもデータを再利用することも可能です。
もう一つ、サーブレットはOSに依存しない特徴があります。
Javaのプログラムが元々どのOSにも対応しているため、サーブレットはこの特徴を受け継いだ形です。
また、サーブレットは、複数の作業を同時に行うことができます。
通常他のプログラムの場合、複数の作業を同時に行なうことはできません。一つ一つ作業を分割して作業を行わなければならないのが難点です。
サーブレットは、この難点をクリアしています。
OSにとらわれない
サーブレットが使いやすい理由の一つとして、どのOSにも対応していることです。
Webコンテナを使用すれば、Mac、LinuxやWindowsどのOSでも実行できます。
様々なOSへ柔軟に対応するサーブレットは、比較的中規模なシステム構築や大規模なシステム構築にも利用可能です。
安全性
サーブレットはサーバが厳重なセキュリティの下、実行するためのC言語ベースのサーバなどでサーバクラッシュするようなミスも安全に着地させます。
サーブレットは、強力なセキュリティポリシを適用して、悪意あるファイルからサーバのファイルシステムを防ぐことが可能です。
サーブレットのメリット
サーブレットを利用するメリットは、Webアプリケーションであるため、複雑な仕様を使わず、Webアプリケーションを作成可能です。
言い換えると、サーブレット自体がWebアプリケーションのため、プログラミングにおいてWebサーバーを介します。
Webサーバーを介することで、Webサーバーの仕様に則りプログラミングをするので複雑な部分を省くことが可能です。
JDK
サーブレットやJSPを使うためには、JDKをダウンロードして置くと便利です。
JDKは、Java Development Kitの略でJavaを使って開発するために必要なソフトになります。
インストール方法は、Oracleのホームページからインストール可能です。
JDKがインストールされているかどうかは、Windowsの場合、スタートメニューからコマンドプロントを立ち上げて「java -version」できます。
Macの場合、terminalを立ち上げて、Windowsと同じように「java -version」と入力すれば確認可能です。
サーブレットのHTML作成
サーブレットでHTMLを作成するには、JSPを使ってページ作成する方法とやり方は類似しています。
ソースコード「out.println(“<html>”);」と「out.println(“</html>”);を最初と最後に置いて後は通常のHTMLコードを打ち込むだけです。
サーブレットは、Javaと同じプログラミングでページ作成可能なので、Javaの知識を役立ちます。
JSPとサーブレットの違い
JSPとサーブレットは、Javaを扱う上で必ず出てきます。どのように違うのか、何が違うのかなど疑問です。
JSPとサーブレットは、共にWebサーバー上で実行するため、根本は同じになります。
しかし、役割が異なることやサーブレットの方がさらに掘り下げた部分を請け負うところが違いです。
もう一つの違いは、実行する際、JSPはコンパイルを必要としませんが、サーブレットは、コンパイルを必要とします。
JSPとサーブレットはどちらが先に誕生したのか
JSPとサーブレットは、同じWeb上で動くプログラミングではありますが、役割が違います。
JSPとサーブレットは、同時に誕生しておらず、サーブレットの方が実は、登場が早かったのです。
ただ、サーブレットの足りないところやサーブレットで簡素化したような装備を備えて誕生したのが、JSPということになります。
使いやすさでいうと今は、JSPが人気です。しかし、どちらかに絞って使うことはほとんどありません。
HPを作成する際に、今は、HTMLだけでなく、CSSやPHPを使って装飾するようにJSPとサーブレット両方を使って作業が一般的です。
JSPとサーブレットはどちらか一つで足りるか
JSPとサーブレットの違いは、よく質問にあがります。同じJavaの仲間であり、用途も同じなので違いが疑問です。
では、どちらか片方だけを使えばいいのかというとそうでもありません。
なぜならサーブレットは、Javaとほぼイコールなのに対して、JSPは補佐的な役割を担うからです。
言い換えると、家を建てる際の基礎となる部分がサーブレットに対して、JSPは、家を肉付けする壁などの役割になります。
JSPとサーブレットをつなぐ
先述でJSPとサーブレットの違いを紹介したことからわかるようにJSPとサーブレットはほぼ同じです。
どちらでファイルを作成しても同じ処理ができます。ただ、サーブレットが家の土台に対して、JSPは肉付けになります。
二つを分けて作理、後でつなぐことでよりよいページやアプリケーションを作ることが可能です。
Eclipse/Dreamweaver/Tomcatは必要か
JSPやサーブレットを作成する際、ファイルをアップするのにEclipseやDreamweaver、Tomcatなどのソフトウェアを耳にします。
JSPやサーブレットを利用してファイルを作ってもアップ不可能です。
そのため、JSPやサーブレットで作成したファイルを動かすためのソフトが必要になります。
それが、EclipseやDreamweaver、Tomcatです。何が違うかというと、開発会社が違います。それを除くとどれも同じオープンソースになります。
まず、Eclipseは、IBMが開発したオープンソースで、Eclipse Foundationのホームページからダウンロード可能です。
Dreamweaverは、アドビシステムが開発したオープンソースで、アドビシステムのホームページからダウンロードできます。
Tomcatは、公式HPからダウンロードすることが可能です。また、Tomcatは、Windows・Macどちらも対応しています。
Tomcatを起動するには、ソフトをインストールしてセットしてからソフトを立ちあげて、「startup.sh」と入力したら起動開始です。
Tomcatを終了するには、「shutdown.sh」と入力します。
まとめ
JSPとサーブレットは、うまく組み合わせることで手軽にWebアプリケーションを作成できます。
基本的にJSPとサーブレットは、同じJavaグループです。ただ、それぞれ役割が異なります。
きちんと役割の違いを理解しておくことでWebアプリケーションを開発するにあたり、バリエーションを増やすことが可能です。
JSPとサーブレットの役割の違いをしっかり理解して使い分けるようにしておくことをお勧めします。
toiroフリーランスは、SHIFTグループがプライムとして参画している独自案件をフリーランスエンジニア向けに紹介する唯一のプラットフォームサービスです。
エージェントによるサポートもありますので、ご利用を検討してみてはいかがでしょうか。