Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Servlet 맵핑
- 형변환
- 리스트 모달창
- 상속
- 객체협력
- spring annotation
- 사용자 데이터그램 프로토콜
- Java
- oracle 연동
- IP
- SUB Query
- 싱클톤패턴
- singleton
- order by
- 템플릿
- 깃 명령어
- AOP란?
- 다운캐스팅
- GROUP BY
- static
- 모달창 여러개
- downcasting
- static 예제
- 추상 메서드
- 다중 모달창
- 오라클 비교연산자
- 스프링 모달창
- 이클립스 오라클 연동
- static메서드
- react
Archives
- Today
- Total
모든지 기록하자!
간단한 웹사이트 만들기(DB, JSP, BootStrap) 05 - 회원가입 기능 구현하기 본문
728x90
UserDAO 클래스에 Join이라는 함수를 추가해 준다.
public int join(User user) // 한명의 사용자를 입력받는다.
String SQL = "INSERT INTO TEST VALUES(?, ?, ?, ?, ?)";
try {
pstmt = conn.prepareStatement(SQL);
pstmt.setString(1, user.getUserID());
pstmt.setString(2, user.getUserPassword());
pstmt.setString(3, user.getUserName());
pstmt.setString(4, user.getUserGender());
pstmt.setString(5, user.getUserEmail());
return pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return -1; // 데이터베이스 오류
}
? 에 해당하는 내용은 첫 번째로 매개변수로 넘어온 user인스턴스에 getUserID와 같이 순서에 따라 데이터를 넣어준다.
INSERT 문장을 실행한 경우는 반드시 0 이상의 숫자가 반환되기 때문에 -1이 아닌 경우에 성공적인 회원가입이 이루어진 것으로 볼 수 있다.
loginAction.jsp 페이지를 그대로 복사해서 joinAction.jsp 페이지를 만들어준다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="user.UserDAO" %>
<%@ page import="java.io.PrintWriter" %>
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:useBean id="user" class="user.User" scope="page" />
<jsp:setProperty name="user" property="userID" />
<jsp:setProperty name="user" property="userPassword" />
<jsp:setProperty name="user" property="userName" />
<jsp:setProperty name="user" property="userGender" />
<jsp:setProperty name="user" property="userEmail" />
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP 게시판 웹 사이트</title>
</head>
<body>
<%
if(user.getUserID() == null || user.getUserPassword() == null || user.getUserName() == null
|| user.getUserGender() == null || user.getUserEmail() == null){
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('입력이 안된 사항이 있습니다.')");
script.println("history.back()");
script.println("</script>");
} else{
UserDAO userDAO = new UserDAO();
int result = userDAO.join(user);
if(result == -1){
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('이미 존재하는 아이디입니다.')");
script.println("history.back()");
script.println("</script>");
}
else {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("location.href='main.jsp'");
script.println("</script>");
}
}
%>
</body>
</html>
기존에 loginAction페이지는 userID와 userPassword만 받는 형식이었지만 이제는 join.jsp에서 보내는 5가지 변수를 모두 받아야 하기 때문에 윗부분에 jsp:setProperty에 userName, userGender, userEmail까지 추가해 준다. 입력을 하지 않았을 때 모든 경우의 수를 체크해서 처리해준다.
데이터 베이스 오류가 발생하는 이유는 이미 해당 아이디가 존재하는 경우 밖에 없다.
-1이 반환되었을 때는 이미 존재하는 아이디 이기 때문에 출력문을 처리해준다.
-1이 아닌 값이 반환 되었을 때는 회원가입이 정상적으로 처리됐으므로 main.jsp로 이동시킨다.
728x90
'Web > 기본 website만들기' 카테고리의 다른 글
간단한 웹사이트 만들기(DB, JSP, BootStrap) 06 - 게시판 메인 페이지 디자인 (0) | 2021.06.18 |
---|---|
간단한 웹사이트 만들기(DB, JSP, BootStrap) 06 - 접속한 회원 세션 관리하기 (0) | 2021.06.18 |
간단한 웹사이트 만들기(DB, JSP, BootStrap) 04 - 회원가입 페이지 디자인 (0) | 2021.06.08 |
간단한 웹사이트 만들기(DB, JSP, BootStrap) 03 - 로그인 기능 구현하기 (0) | 2021.06.08 |
간단한 웹사이트 만들기(DB, JSP, BootStrap) 02 - 회원 데이터베이스 구축하기 (0) | 2021.06.08 |
Comments