Javaプログラミング入門:ステップ7 実践的な開発
ステップ7では、これまで学んだ技術を統合し、実際のプロジェクトに適用していきます。具体的には、Web画面にデータを表示し、データの登録処理を行う方法を学びます。HTMLとプログラムの連携を通じて、動的なWebアプリケーションを構築します。
- プロジェクトに必要な技術の統合
- Web画面にデータを表示
- 登録したデータの処理
- HTMLとプログラムの連携
1. プロジェクトに必要な技術の統合
まず、プロジェクトで必要な技術を統合します。これには、以下の要素が含まれます。
- Webフレームワーク: Struts、Spring MVCなど
- データベースアクセス: JDBC、ORM(Hibernateなど)
- フロントエンド: HTML、CSS、JavaScript
これらの技術を組み合わせることで、Webアプリケーションの基盤を構築します。
2. Web画面にデータを表示
データベースからデータを取得し、Web画面に表示する方法を学びます。
データの取得
データベースからデータを取得するために、DAO(Data Access Object)パターンを使用します。以下は、データベースから従業員リストを取得する例です。
public class EmployeeDao {
public List<Employee> getAllEmployees() {
List<Employee> employees = new ArrayList<>();
// データベース接続とデータ取得のロジック
return employees;
}
}
データの表示
取得したデータをJSPページに表示します。
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<title>Employee List</title>
</head>
<body>
<h1>Employee List</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Position</th>
</tr>
<c:forEach var="employee" items="${employeeList}">
<tr>
<td>${employee.id}</td>
<td>${employee.name}</td>
<td>${employee.position}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
3. 登録したデータの処理
ユーザーが入力したデータをデータベースに登録する方法を学びます。
HTMLフォームの作成
まず、データ入力フォームを作成します。
<!DOCTYPE html>
<html>
<head>
<title>Register Employee</title>
</head>
<body>
<h1>Register Employee</h1>
<form action="registerEmployee" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required><br>
<label for="position">Position:</label>
<input type="text" id="position" name="position" required><br>
<input type="submit" value="Register">
</form>
</body>
</html>
サーブレットの作成
次に、フォームデータを受け取り、データベースに保存するサーブレットを作成します。
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/registerEmployee")
public class RegisterEmployeeServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name = request.getParameter("name");
String position = request.getParameter("position");
EmployeeDao employeeDao = new EmployeeDao();
Employee employee = new Employee();
employee.setName(name);
employee.setPosition(position);
employeeDao.addEmployee(employee);
response.sendRedirect("employeeList");
}
}
DAOの追加メソッド
DAOにデータを追加するメソッドを実装します。
public class EmployeeDao {
// 既存のメソッド...
public void addEmployee(Employee employee) {
// データベース接続とデータ挿入のロジック
}
}
4. HTMLとプログラムの連携
HTMLとJavaプログラムを連携させることで、ユーザーインターフェースとビジネスロジックを結びつけます。
フォームデータの送信
HTMLフォームからデータを送信し、サーブレットで受け取ります。フォームのaction属性には、データを処理するサーブレットのURLを指定します。method属性には、postを指定してデータを送信します。
サーブレットでのデータ処理
サーブレットでは、doPostメソッドをオーバーライドして、受け取ったデータを処理します。HttpServletRequestオブジェクトを使用して、フォームデータを取得します。
データベース操作
DAOパターンを使用して、データベース操作を抽象化します。データベース接続、データ取得、データ挿入などの操作をDAOクラスにまとめることで、ビジネスロジックとデータアクセスロジックを分離します。
結果の表示
処理が完了したら、結果をJSPページに表示します。例えば、データの登録が成功した場合、登録成功メッセージを表示するページにリダイレクトします。
以上が、実践的な開発におけるプロジェクトに必要な技術の統合、Web画面にデータを表示、登録したデータの処理、およびHTMLとプログラムの連携についての解説です。これらの手順を実践し、実際のプロジェクトに適用することで、より高度なWebアプリケーションを開発するスキルを身につけましょう。