Java サーブレット・JavaBeans・jsp・EL式のサンプル

JavaのサーブレットとJavaBeansとjspとEL式のサンプルです。

実行環境
・Windows10
・Eclipse4.6  (JavaEE)
・apache-tomcat-8.0.39

目次

環境

3つファイルがあります。
・Test1.java・・・サーブレットのファイル
・Color1.java・・・JavaBeansのファイル
・test1.jsp・・・jspファイル

Eclipseの配置は以下のようになっています。

アクセスするURLは以下です。
http://localhost:8080/test2/testjava

アクセスする流れは、Test1.java > Color1.java > test1.jspとなります。

サーブレットのファイル

サーブレットのファイルです。(Test1.java)
18,19行目は、JavaBeansを生成し値をセットしています。
21行目は、JavaBeansをリクエストにセットしています。
25,26行目は、jspファイルにフォワードしています。
11行目の/testjavaは、URLでアクセスする時に使用します。

package test1;

import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/testjava")
public class Test1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
			
			Color1 cr1 = new Color1();
			cr1.setColor("赤黄青");
	
			request.setAttribute("cr1", cr1);
						
			ServletContext sc = getServletContext();
			
			sc.getRequestDispatcher("/WEB-INF/test1.jsp")
				.forward(request, response);
	}
}

JavaBeansのファイル

JavaBeansのファイルです。(Color1.java)
以下はJavaBeansの主な仕様です。
・Serializableインターフェースを実装している(5行目)
・フィールドはクラスの外部から直接アクセスできない(8行目のprivate)
・publicで引数のないコンストラクタを持つ(10行目)
・ゲッター/セッターで値を取得、設定する(12,15行目)

package test1;

import java.io.Serializable;

public class Color1 implements Serializable{
	private static final long serialVersionUID = 1L;
	
	private String color;
	
	public Color1(){
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
}

jspのファイル

jspのファイルです。(test1.jsp)
10行目はEL式です。${cr1.color}で値にアクセスできます。
画面には、EL式です=赤黄青 と表示されます。
EL式は、JSP 2.0で導入された新たな構文です。従来のスクリプトレット(<%・・・%>)に代わるものです。EL式は、式言語ともいいます。

<%@ page contentType="text/html; charset=UTF-8"%>

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<p>EL式です=${cr1.color}</p>

</body>
</html>

jspでEL式を使わない場合

上記のjspでEL式を使わない場合のサンプルコードです。
2-5行目を追加しています。
13行目は、Color1クラスのgetColorメソッドで値にアクセスしています。
画面には、テスト=赤黄青 と表示されます。

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="test1.Color1" %>
<%
	Color1 cr0 = (Color1)request.getAttribute("cr1");
%>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>

<p>テスト=<%=cr0.getColor() %></p>

</body>
</html>

関連の記事

Java サーブレットのセッションのサンプル(getSession)
Java JSTLのcoreタグライブラリのサンプル



△上に戻る