https://www.youtube.com/watch?v=RYo3OGlRoJw&list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6&index=4
1. UserDAO.java 생성/설정 (mysql 데이터베이스하고 직접적인 연결 담당)
package user;
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:3306/BBS";
String dbID = "root";
String dbPassword = "root";
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 = ?"; //?로 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; // 데이터베이스 오류
}
}
2. loginAaction.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" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP 게시판 웹 사이트</title>
</head>
<body>
<%
UserDAO userDAO = new UserDAO();
int result = userDAO.login(user.getUserID(), user.getUserPassword());
if (result == 1) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("location.href = 'main.jsp'"); // 로그인 되면 이동할페이지
script.println("</script>");
} else if (result == 0) { // 비밀번호 불일치시
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('비밀번호가 틀립니다.')");
script.println("history.back()"); //뒤로가기, 다시 로그인 페이지
script.println("</script>");
} else if (result == -1) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('존재하지 않는 아이디입니다.')");
script.println("history.back()");
script.println("</script>");
} else if (result == -2) {
PrintWriter script = response.getWriter();
script.println("<script>");
script.println("alert('데이터베이스 오류가 발생했습니다.')");
script.println("history.back()");
script.println("</script>");
}
%>
</body>
</html>
3. mysql connector/J 설치 (java파일하고 데이터베이스 연결)
Platform Independent 선택후에 밑에거 다운받기
이후에 Connector 설정은 강의 참조
이클립스 설정
'JSP > JSP게시판 만들기' 카테고리의 다른 글
JSP 게시판 만들기 / 회원가입 기능 구현하기 [동빈나님 강의.6] (0) | 2021.09.28 |
---|---|
JSP 게시판 만들기 / 회원가입 페이지 디자인 [동빈나님 강의.5] (0) | 2021.09.27 |
JSP 게시판 만들기 / 회원 데이터베이스 구축 [동빈나님 강의.3] (0) | 2021.09.27 |
JSP 게시판 만들기 / 로그인 페이지 [동빈나님 강의.2] (0) | 2021.09.27 |
JSP 게시판 만들기 / 개발환경 설정 [동빈나님 강의.1] (2) | 2021.09.27 |