💡

【Java】JSPとサーブレット

2024/01/29に公開

JSPとは

Java Server Pages の略。
HTMLファイルの中にJavaのコードを記述して実行し、
結果を反映したページを動的に生成するもの。

JSP内にJavaのコードを記述するときは、
スクリプトとレット<%%> や 式<%=%>を利用する。
もしくはEL式 ${}や JSTLを利用する。(詳細は後述)

サーブレットとは

Java Servlet の略。
Javaファイルの中にHTMLのコードを記述して実行し、
結果を反映したページを動的に生成するもの。
サーブレットを利用するには、サーブレットコンテナ というソフトが必要。

サーブレットは以下のような流れで処理が実行される。

Webブラウザ (HTTPリクエスト)
-> サーブレットコンテナ (処理準備)
-> サーブレット(処理)

JSPとサーブレットの使い方

MVCモデルに基づいてプログラミングを行うとき、
サーブレットはコントローラ、JSPはビューという位置付けになる。
両方をうまい具合に使い分け、コントローラとビューの分離を行う。

EL式

EL式はJSP内でJavaのコードを簡潔に記述することができる記述方法。

例えば、サーブレットで setAttributeで指定したものを
${データ名} ですぐに利用できる。

そのほか、以下のような演算子が使用可能。

+, =, *, /, %, ==/eq, !=/ne, </lt, >/gt, <=/le, >=/ge, Empty, &&/and, ||/or, !/not など。

JSTL

JSLTは JavaServer Pages Standard Tag Library の略。
よく使用される機能をまとめたタグライブラリ。
JSTLを使用するためには、以下のファイルが必要。

・taglibs-standard-impl-1.2.5.jar
・taglibs-standard-spec-1.2.5.jar

また、利用する際にはJSPファイルにtaglib宣言を行う。
coreを利用する場合、以下のように記述する。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSTLの種類

JSTLには複数の種類があり、以下の5つに大別される。

詳細は以下リンクを参照。
http://itref.fc2web.com/java/jsp/jstl.html#TAG

core
prefix: c
URI: http://java.sun.com/jsp/jstl/core

Internationalization
URI: http://java.sun.com/jsp/jstl/fmt
prefix: fmt

functions
http://java.sun.com/jsp/jstl/functions
prefix: fn

xml
URL: http://java.sun.com/jsp/jstl/xml
prefix: x

database
URI: http://java.sun.com/jsp/jstl/sql
prefix: sql

参考

https://atmarkit.itmedia.co.jp/fjava/javafaq/jsp/jsp01.html
https://hnavi.co.jp/knowledge/blog/java-servlet/
https://wa3.i-3-i.info/word12840.html
http://itref.fc2web.com/java/jsp/jstl.html#TAG

Discussion