반응형

JSP에서 회원 데이터베이스의 테이블에 접근할 수 있도록 하고 로그인 기능을 구현하기 위한 UserDAO.java라는 클래스를 생성했습니다.

만약 비밀번호가 다르면 0을 반환하여 loginAcition.jsp에서 그 값을 받아 '비밀번호가 틀렸습니다.' 라는 문구가 나오게 됩니다.

 

2020.08.27 완성

 

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
package board;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
 
public class UserDAO {
    private Connection conn;
    private PreparedStatement pstmt;
    private ResultSet rs;
 
    public UserDAO() {
        try {
            String dbURL = "jdbc:mysql://localhost:3557/kobalja?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
            String dbID = "root";
            String dbPassword = "3557";
            Class.forName("com.mysql.cj.jdbc.Driver"); // lib에 추가해야함
            conn = DriverManager.getConnection(dbURL, dbID, dbPassword);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    // 로그인 과정
    public int login(String userID, String userPassword) {
        String SQL = "select userPassword from board 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// 아이디가 없음
        } catch (Exception e) {
            e.printStackTrace();
        }
        return -2// 데이터베이스 오류
    }
 
    // 한명의 사용자를 입력받고 유저클래스를 이용해서 하나의 인스턴스 만들기, 회원가입하기
 
    public int join(Board user) {
        String SQL = "insert into board 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
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기