Jakarta EE JSPとJavaBeansの連携方法をやさしく解説|初心者でも理解できるサーバーサイド実装
生徒
「Jakarta EEのJSPでJavaBeansと連携したいのですが、具体的なやり方が分かりません。サーバーサイドの開発でよく使うと聞いたのですが、どのようにデータをやり取りするのですか?」
先生
「JSPとJavaBeansを連携すると、サーバーサイドの処理をわかりやすく分離できて、再利用もしやすくなります。フォームから送信されたデータを受け取って表示するなど、Webアプリでよく使う仕組みですね。」
生徒
「なるほど!どのように書くのか、実際のJSPやJavaBeansのコードも見てみたいです。」
先生
「それでは、初心者でも理解できるように丁寧に説明していきましょう。フォーム送信、JavaBeans、JSPの連携という流れをひとつずつ見ていきます。」
1. JavaBeansとは何かを初心者向けに理解しよう
JavaBeansは、Javaでデータを扱うためのシンプルな仕組みです。名前やメールアドレスなどの「値」を保持し、必要なときに取り出せるようにする役割があります。Jakarta EEでは、Servletが処理したデータやユーザー入力を、JavaBeansで保持してJSPに表示するといった使い方がとても多いです。
特に、Webアプリ開発では、ビューとロジックの分離が重要になります。同じ値を何度も書かなくて済むので、メンテナンス性や再利用性が高くなり、初心者でも設計しやすい形になります。
2. JSPでJavaBeansを使うには?基本の書き方を知ろう
JSPはWebブラウザに表示する役割が中心ですが、JavaBeansと連携することで、動的なページを作成できます。プロジェクトでは、次のような流れで利用します。
- フォーム画面から値を入力
- Servletがその値を受け取ってJavaBeansにセット
- JSPがJavaBeansから値を取り出して表示
この流れを理解すれば、Webアプリで「ログインフォーム」「会員登録」「商品の注文」など多くの機能を作れるようになります。
3. JavaBeansのサンプルコードを見てイメージをつかもう
まず、ユーザー情報を扱うJavaBeansを用意します。とてもシンプルなクラスで、値を保持するための変数と、値を取り出すgetter、値をセットするsetterを書くだけです。
package beans;
public class UserBean {
private String name;
private String email;
public UserBean() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
初心者でも読みやすい内容になっていて、特別な処理はありません。このクラスがサーバー側のデータを保持し、JSPから利用されます。
4. ServletからJavaBeansへ値をセットする流れを理解しよう
次に、フォームから送信された値を受け取るServletを用意します。Servletはリクエストパラメータを取得し、その値をJavaBeansに流し込み、リクエスト属性としてJSPに渡します。
package servlet;
import java.io.IOException;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import beans.UserBean;
public class UserServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String name = request.getParameter("username");
String email = request.getParameter("useremail");
UserBean bean = new UserBean();
bean.setName(name);
bean.setEmail(email);
request.setAttribute("user", bean);
request.getRequestDispatcher("/result.jsp").forward(request, response);
}
}
この仕組みにより、Servletが受け取った値をJavaBeansにまとめて、JSPに渡せるようになります。
5. JSPでJavaBeansの値を取り出して表示する方法
JSPでは、受け取ったJavaBeansを簡単に表示することができます。利用するタグはuseBeanとgetPropertyです。初心者でも迷わない、とてもシンプルな記述です。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaBeans表示サンプル</title>
</head>
<body>
<jsp:useBean id="user" scope="request" class="beans.UserBean" />
<p>名前:<jsp:getProperty name="user" property="name" /></p>
<p>メール:<jsp:getProperty name="user" property="email" /></p>
</body>
</html>
このように、JavaBeansとJSPを組み合わせることで、入力したデータをWebブラウザに表示できます。仕組みが理解できれば、アプリケーションの画面を自由に作れるようになります。
6. フォームのHTMLも見ておこう
ユーザーが入力するフォームも書いておきましょう。JSP、JavaBeans、Servletの連携がひとつにつながると、Jakarta EEの仕組みがよく分かります。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ユーザーフォーム</title>
</head>
<body>
<form action="UserServlet" method="post">
<label>名前:</label>
<input type="text" name="username">
<label>メール:</label>
<input type="text" name="useremail">
<button type="submit">送信</button>
</form>
</body>
</html>
このフォームから値がServletに送信され、JavaBeansにセットされ、最後にJSPで表示されるという流れになります。
7. JSPとJavaBeans連携が便利な理由
この連携方法は、シンプルでありながら現場でもよく使われる設計です。表示と処理を分けることで、後から修正しやすくなり、複雑な画面も整理された構造で作れるようになります。
また、JavaBeansはさまざまな画面やServletから共通して利用できるため、同じコードを何度も書かずに済みます。こうした再利用性は、Jakarta EEでの開発を効率良く進めるためにとても重要なポイントになります。
初心者のうちにこの仕組みを理解しておくと、より高度なJakarta ServletやJSTL、Expression Languageを学ぶときにも役立ちます。