[JSP][동빈나] JSP 게시판 만들기 강좌 6강 - 회원가입 기능 구현하기 (JSP Advanced Development Tutorial #6)
카테고리 없음 2018. 4. 30. 08:13 |[JSP][동빈나] JSP 게시판 만들기 강좌 6강 - 회원가입 기능 구현하기 (JSP Advanced Development Tutorial #6)
UserDAO.java
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | package user; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class UserDAO { private Connection conn; // DB에 접근하는 객체 private PreparedStatement pstmt; // private ResultSet rs; // DB data를 담을 수 있는 객체 (Ctrl + shift + 'o') -> auto import public UserDAO(){ try { String dbURL = "jdbc:mysql://localhost:3306/bbs"; String dbID = "root"; String dbPassword = "1234"; Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(dbURL, dbID, dbPassword); } catch (Exception e) { e.printStackTrace(); } } public int login(String userID, String userPassword) { String SQL = "SELECT userPassword FROM USER WHERE userID = ?"; try { pstmt = conn.prepareStatement(SQL); pstmt.setString(1, userID); rs = pstmt.executeQuery(); if(rs.next()){ if(rs.getString(1).equals(userPassword)) return 1; // 로그인 성공 else return 0; // 비밀번호 불일치 } return -1; // ID가 없음 } catch (Exception e) { e.printStackTrace(); } return -2; // DB 오류 } public int join(User user) { String SQL = "INSERT INTO USER 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; // 데이터베이스 오류 } } | cs |
joinAction.jsp
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | <!-- 회원가입 처리 --> <%@ 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"); %> <!-- 건너오는 모든 파일을 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 if(result == 0){ session.setAttribute("userID", user.getUserID()); PrintWriter script = response.getWriter(); script.println("<script>"); script.println("location.href= 'main.jsp'"); script.println("</script>"); } } %> </body> </html> | cs |