JSP 로그인

hj_kwon.log·2022년 10월 19일
0

JSP

목록 보기
13/14
post-thumbnail

⛳ JSP 로그인


강사님과 회원가입까지 배웠고 강사님께서 DB에 저장되어 있는 데이터로 로그인을 할 수 있게 만들어보라고 숙제를 내주셨다.


🔴 로그인 html


🔴 로그인 유효성 검사

function sendit(){
	let frm = document.getElementById("frm");
	let userid = document.getElementById("userid");
	let userpw = document.getElementById("userpw");
	
	if(userid.value==""){
		alert("아이디를 입력해주세요");
		userid.focus();
		return false;
	}
	if(userpw.value==""){
		alert("비밀번호를 입력해주세요");
		userpw.focus();
		return false;
	}
	frm.submit();
	
}

아이디와 비밀번호를 입력하지 않았을 시 입력하라는 alert창을 띄운다.


🔴 DB 연결

package com.koreait.web.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.koreait.web.beans.UserBean;

public class UserDAO {

	Connection conn;
	PreparedStatement pstm;
	ResultSet rs;
    public boolean login(UserBean user) {
		String sql = "SELECT * FROM TBL_user";
		try {
			conn=DBConnection.getConnection();
			pstm=conn.prepareStatement(sql);
			rs=pstm.executeQuery();
			
			while(rs.next()) {
				if(rs.getString(1).equals(user.getUserid())&&rs.getString(2).equals(user.getUserpw()) ) {
					return true;
				}
			}
		}catch(Exception e) {
			e.printStackTrace();
		}
		return false;
		
	}
}

DAO에 boolean타입으로 로그인 메서드를 만든다. DBConnection 객체를 사용하여 DB를 연동하고 String sql 부분에 셀렉문을 활용하여 DB를 가져온다. 또한 while문과 next()메서드를 활용하여 DB를 확인하고 DB에 있는 데이터와 DTO에 입력된 id와 password를 가져와서 비교한다. 만약 입력된 값과 DB에 저장된 값이 같으면 true로 리턴한다.


🔴 컨트롤러 단

<%@page import="com.koreait.web.dao.UserDAO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 	아이디 패스워드 파라미터값 받아와서 userdao -->
<!-- 숙제2. -->
<!-- 로그인 기능 완성 -->
<!-- 로그인 성공 -> main_view.jsp -->
<!-- 로그인 실패 -> login_view.jsp -->
	<jsp:useBean id="user" class="com.koreait.web.beans.UserBean"/>
	<jsp:setProperty property="userid" name="user"/>
	<jsp:setProperty property="userpw" name="user"/>
	
	<%
		UserDAO udao = new UserDAO();
		if(udao.login(user)){
			//가입 성공
	%>
		<script>
			alert('로그인 성공');
			location.href = "main.jsp";
		</script>
	
	<%
		}else{
		//가입 실패
	%>	
		<script>
			alert('로그인 실패');
			location.href = "loginview.jsp";
		</script>
		
	<%
		}
	%>
	

</body>
</html>

자바빈즈 액션 태그를 활용하여 객체를 만들고 userid와 userpw를 받아온다. dao 객체를 만들고 로그인 성공시 main페이지로 넘어가고 로그인 실패시 login화면으로 넘어간다.


🔴 로그인 하기


DB에 저장되어 있지 않은 아이디와 비밀번호를 입력시

로그인 실패라는 경고창이 뜨고 다시 로그인 화면으로 넘어간다.


DB에 저장되어 있는 아이디와 비밀번호를 입력시


로그인 성공이라는 경고창이 뜨고 main창으로 이동되는 것을 볼 수 있다.

profile
개발자가 되는 그날까지

0개의 댓글