JSP 게시판 만들기 CHAPTER 4 (자바스크립트) - 로그인 기능 구현
- 코딩/Jsp
- 2019. 12. 10.
- 로그인 기능 구현해주기 -
JSP에서 회원 데이터베이스에 접근을 할 수 있게 DAO를 만들어 주겟습니다.
이렇게 UserDAO.java 클래스를 만들어 주도록 합니다.
package user;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDAO { //dao란 데이터베이스 접근 객체 Data Access Object 로 db에서 회원정보를 불러오거나 넣을 때 사용한다.
private Connection conn; // db에 접근 할 수 있게 해준다.
private PreparedStatement pstmt;
private ResultSet rs;
//mysql에 연결
public UserDAO() {
try {
String dbURL = "jdbc:mysql://localhost:3306/BBS?serverTimezone=Asia/Seoul";
String dbID = "root";
String dbPassword = "password";
Class.forName("com.mysql.cj.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; //아이디 없음
} catch (Exception e) {
e.printStackTrace();
}
return -2; // 데이터베이스 오류
}
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; //데이터베이스 오류
}
}
이렇게 로그인이 가능하도록 DAO를 만들어 주도록 합니다.
이 후에 로그인이 되었을 때 다른 화면(loginaction.jsp)으로 넘어 가게 되는데 하나 만들어 주도록 합니다.
이렇게 loginAction.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 property="userID" name="user"/>
<jsp:setProperty property="userPassword" name="user"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width", initial-scale="1">
<title>>JSP 게시판 웹 사이트</title>
</head>
<body>
<%
UserDAO userDAO = new UserDAO();
int result = userDAO.login(user.getUserID(), user.getUserPassword());
%>
<script type="text/javascript">
var result = <%=result%>;
if(result == 1){
location.href = 'main.jsp';
}else if(result == 0){
alert('비밀번호가 틀립니다.');
history.back();
}else if(result == -1){
alert('존재하지 않는 아이디입니다.');
history.back();
}else if(result == -2){
alert('DB 오류가 발생했습니다.');
history.back();
}
</script>
</body>
</html>
위와 같이 추가를 해줍니다.
이렇게 하면 로그인 기능이 구현 되게 됩니다.
이제 프로젝트가 mysql에 접근을 할 수 있게 파일을 하나 추가해 주어야 하는데요
mysql jdbc driver를 설치해 주도록 합니다.
- mysql과 jsp가 연결 될 수 있도록 해줍니다.
https://dev.mysql.com/downloads/windows/installer/8.0.html
사이트에서 설치해 주시면 됩니다.
폴더를 c드라이브에 jsp라는 폴더안에 받아주시고, mysql-connector-java-8.0.16이라는 파일을 아래와 같이
lib안에 붙여 넣어 주도록 합니다.
이제 mysql connector 라이브 러리를 추가해 주도록 합니다.
이렇게 mysql-connector를 우측 add jars를 통하여 추가를 해주도록 합니다.
이렇게 mysql과 연결이 되어 로그인 처리가 가능해 집니다.
'코딩 > Jsp' 카테고리의 다른 글
JSP 게시판 만들기 CHAPTER 6 (자바스크립트) - 회원가입 기능 구현 (4) | 2019.12.12 |
---|---|
JSP 게시판 만들기 CHAPTER 5 (자바스크립트) - 회원가입 페이지 디자인 (0) | 2019.12.11 |
JSP 게시판 만들기 CHAPTER 3 (자바스크립트) - 회원DB구축하기 (0) | 2019.12.09 |
JSP 게시판 만들기 CHAPTER 2 (자바스크립트) - 로그인 페이지 만들기 (0) | 2019.12.08 |
마이플랫폼 자바스크립트 (0) | 2019.09.08 |