user_id, user_name, user_phone, user_age
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>1,jdbc</title>
</head>
<body>
<h3>1.JDBC</h3>
<h4>user1</h4>
<a href="./user1/list.jsp">user1 목록</a>
</body>
</html>
user1 테이블의 모든 데이터를 조회하여 테이블로 출력register.jsp로 이동하여 새로운 사용자 추가 가능<%@page import="entity.User1"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%>
<%
// 데이터베이스 연결 정보
String host = "jdbc:mysql://127.0.0.1:3306/studydb";
String user = "root";
String pass = "1234";
// 사용자 목록 저장 객체
List<User1> users = new ArrayList<>();
try {
// JDBC 드라이버 로드 및 DB 연결
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(host, user, pass);
Statement stmt = conn.createStatement();
// SQL 실행 및 데이터 조회
ResultSet rs = stmt.executeQuery("SELECT * FROM `user1`");
// 조회된 데이터를 User1 객체에 저장
while(rs.next()){
User1 user1 = new User1();
user1.setUid(rs.getString(1));
user1.setName(rs.getString(2));
user1.setHp(rs.getString(3));
user1.setAge(rs.getInt(4));
users.add(user1);
}
// 리소스 해제
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
e.printStackTrace();
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>user1::list</title>
</head>
<body>
<h3>user1 목록</h3>
<a href="../1.jdbc.jsp">처음으로</a>
<a href="./register.jsp">등록하기</a>
<table border="1">
<tr>
<th>아이디</th>
<th>이름</th>
<th>휴대폰</th>
<th>나이</th>
<th>관리</th>
</tr>
<% for(User1 user1 : users){ %>
<tr>
<td><%= user1.getUid() %></td>
<td><%= user1.getName() %></td>
<td><%= user1.getHp() %></td>
<td><%= user1.getAge() %></td>
<td>
<a href="./modify.jsp?uid=<%= user1.getUid() %>">수정</a>
<a href="./proc/delete.jsp?uid=<%= user1.getUid() %>">삭제</a>
</td>
</tr>
<% } %>
</table>
</body>
</html>
./proc/register.jsp 파일이 실행되면서 데이터를 DB에 저장<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>user1::register</title>
</head>
<body>
<h3>user1 등록</h3>
<a href="../1.jdbc.jsp">처음으로</a>
<a href="./list.jsp">목록이동</a>
<form action="./proc/register.jsp" method="post">
<table border="1">
<tr>
<td>아이디</td>
<td><input type="text" name="uid" placeholder="아이디 입력"></td>
</tr>
<tr>
<td>이름</td>
<td><input type="text" name="name" placeholder="이름 입력"></td>
</tr>
<tr>
<td>휴대폰</td>
<td><input type="text" name="hp" placeholder="휴대폰 입력"></td>
</tr>
<tr>
<td>나이</td>
<td><input type="number" name="age" placeholder="나이 입력"></td>
</tr>
<tr>
<td colspan="2" align="right">
<input type="submit" value="등록하기">
</td>
</tr>
</table>
</form>
</body>
</html>
INSERT INTO user1 VALUES (?, ?, ?, ?) SQL 실행list.jsp로 이동하여 변경 사항 확인 가능<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%
// 데이터 수신
String uid = request.getParameter("uid");
String name = request.getParameter("name");
String hp = request.getParameter("hp");
String age = request.getParameter("age");
// 데이터베이스 연결 정보
String host = "jdbc:mysql://127.0.0.1:3306/studydb";
String user = "root";
String pass = "1234";
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(host, user, pass);
// SQL 실행 객체 생성 및 실행
String sql = "INSERT INTO `user1` VALUES (?,?,?,?)";
PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setString(1, uid);
psmt.setString(2, name);
psmt.setString(3, hp);
psmt.setString(4, age);
psmt.executeUpdate();
// 리소스 해제
psmt.close();
conn.close();
}catch (Exception e){
e.printStackTrace();
}
// 목록 페이지로 이동
response.sendRedirect("../list.jsp");
%>
uid를 기준으로 DB에서 조회하고, 수정할 수 있도록 폼에 미리 채워서 표시.proc/modify.jsp에서 수정된 정보를 DB에 업데이트