📌 JSP + JDBC Insert 예제 정리
1. insertForm.jsp (회원가입 입력 폼)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
insertForm.jsp <br>
<h1>회원가입</h1>
<!-- 1. 사용자 입력 폼 -->
<form action="insertProc.jsp" method="post">
<!-- 입력한 값이 insertProc.jsp로 전달됨 -->
아이디 <input type="text" name="id"><br>
비번 <input type="text" name="passwd"><br>
이름 <input type="text" name="name"><br><br>
<input type="submit" value="가입하기">
</form>
- ✔ 설명
- 사용자가 id, passwd, name 입력
- form action="insertProc.jsp" → 제출 시 insertProc.jsp로 값 전달
- 전달되는 파라미터 예시 :
insertProc.jsp?id=aa&passwd=bb&name=cc
2. insertProc.jsp (회원가입 처리)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
insertForm.jsp => insertProc.jsp <br>
<%
// 1. 한글 처리
request.setCharacterEncoding("UTF-8");
// 2. 폼에서 넘어온 데이터 받기
String id = request.getParameter("id");
String passwd = request.getParameter("passwd");
String name = request.getParameter("name");
System.out.println("insertProc.jsp 실행");
%>
<!-- 3. DAO 객체 생성 -->
<jsp:useBean id="mdao" class="myPkg.MemberDao"/>
<%
// 4. DB insert 실행
int cnt = mdao.insertMember(id, passwd, name);
// 5. 결과에 따른 페이지 이동
if(cnt != -1){ // 삽입 성공
response.sendRedirect("select.jsp"); // 목록 페이지로 이동
}else{ // 삽입 실패
response.sendRedirect("insertForm.jsp"); // 다시 입력폼으로 이동
}
%>
✔ 설명
- request.getParameter() : insertForm.jsp에서 전달된 값 받기
- <jsp:useBean> : DAO 객체 생성
- mdao.insertMember() : DB에 회원 정보 삽입
- 성공 → select.jsp 이동 / 실패 → insertForm.jsp로 이동
3. MemberDao.java (삽입 메서드 부분)
// MemberDao.java 안에 존재
public int insertMember(String id, String passwd, String name) {
getConnection(); // 1. DB 연결
int cnt = -1;
try {
// 2. SQL 준비 (번호는 시퀀스, 가입일은 default)
String sql = "insert into member values(m_seq.nextval,?,?,?,default)";
ps = conn.prepareStatement(sql);
// 3. 바인딩
ps.setString(1, id);
ps.setString(2, passwd);
ps.setString(3, name);
// 4. 실행 (성공 시 1 반환)
cnt = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 5. 자원 반납
try {
if(ps != null) ps.close();
if(conn != null) conn.close();
} catch(SQLException e) {
e.printStackTrace();
}
}
return cnt;
}
✔ 설명
- SQL :
insert into member values(m_seq.nextval, ?, ?, ?, default)
- → m_seq.nextval : 시퀀스 번호
→ default : 가입일(sysdate) - 실행 성공 시 cnt = 1, 실패 시 cnt = -1 반환
✅ 실행 순서 요약
사용자 → insertForm.jsp에서 값 입력
→ [가입하기] 버튼 클릭
→ insertProc.jsp 실행
└ request.getParameter()로 값 받음
└ mdao.insertMember() 호출
└ DB에 INSERT 실행
→ 삽입 성공 → select.jsp 이동
→ 삽입 실패 → insertForm.jsp 이동
'기초 및 언어 > ▶ Java&JSP' 카테고리의 다른 글
| 14. JSP + JDBC delete예제 정리1 _ member (0) | 2025.09.11 |
|---|---|
| 13. JSP + JDBC Update 예제 정리1 _ member (0) | 2025.09.11 |
| 11. JSP + JDBC Select 예제1 _ member (0) | 2025.09.11 |
| 10. JSP 유효성 검정 / usebean 숙제 (0) | 2025.09.10 |
| 09. JSP_ActionTag : useBean (0) | 2025.09.10 |