상세 컨텐츠

본문 제목

spring session 로그인 처리.

spring/spring 로그인 처리

by somiyuralove 2019. 1. 9. 01:16

본문

안녕하세요. 

오늘하루도 즐거운 하루 보내셨나요?? ^^

이번 강좌부터 spring session 로그인 처리에 대한 강좌를 진행해보도록 하겠습니다.

먼저 테이블을 만들어보겠습니다.


CREATE TABLE `login` (

`userNo` INT(11) NOT NULL AUTO_INCREMENT,

`userId` VARCHAR(30) NOT NULL COLLATE 'utf8_bin',

`userPass` VARCHAR(30) NULL DEFAULT NULL COLLATE 'utf8_bin',

PRIMARY KEY (`userNo`)

)

COLLATE='utf8_bin'

ENGINE=InnoDB

AUTO_INCREMENT=2;


테이블 이름을 login으로 정했습니다. 간단하게 userNo는 Auto_increment로 설정하였고, userId와 userPass 컬럼을 만들었습니다.


그런다음, login.jsp를 아래와 같이 만들었습니다. css가 전혀 적용되어 있지 않은 볼품없는(?) 화면입니다.


우리는 화면이 이쁘고 안이쁘고가 중요한게 아니고 정상동작이 중요합니다. 하하하.. ^^;;;


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>로그인</title>

</head>

<body>

<form id="frm" action="/board/login/loginCheck/">

<div class="form-group label-floating">

<label class="control-label">아이디</label> <input name="userId" type="text" id="exampleInputEmail1" class="form-control">

</div>

<div class="form-group label-floating">

<label class="control-label">비밀번호</label> <input name="userPwd" type="password" class="form-control">

</div>

<button type="submit" id="loginBtn" class="btn btn-default">로그인</button>

</form>

</body>

<script>

$(documnet).ready(function() {

$("#loginBtn").unbind("click").click(function(e) {

e.preventDefault();

fn_login();

});

function fn_login() {

if($("userId").val().length < 1) {

alert("아이디를 입력해주세요.");

} else if($("#userPwd").val().length < 1) {

alert("비밀번호를 입력해주세요.");

}

});

</script>

</html>


그런다음, LoginController.java 와 LoginDAO.java, LoginService.java, LoginServiceImpl.java를 아래와 같이 코딩합니다.


* LoginDAO.java

* LoginService.java


* LoginServiceImpl.java


* LoginController.java


로그인이 성공했을때 loginSuccess.jsp를 아래와 같이 코딩합니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<script>

window.alert("${msg}");

window.location.href="${request.pageContext.getPageContext}/board/home/"

</script>


로그인이 실패했을때 loginWarning.jsp를 아래와 같이 코딩합니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<script>

window.alert("${msg}");

window.location.href="${request.pageContext.contextPath}/board/login/loginForm/"

</script>


로그아웃했을때 logout.jsp를 아래와 같이 코딩합니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<script>

window.alert("${msg}");

window.location.href="${request.pageContext.contextPath}/board/login/loginForm/";

</script>


그리고, home.jsp를 아래와 같이 코딩합니다.


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>


<html>

<head>

<title>Home</title>

</head>

<body>

<h1>

Hello world!  <%= request.getSession().getAttribute("userId") %>님을 환영합니다.

</h1>

<a href="${request.pageContext.contextPath}/board/logout/">로그아웃</a>

</body>

</html>


여기까지 하시면 스프링 로그인 처리와 관련하여 모든 처리가 끝났습니다.


코딩을 하시고 직접 브라우져에서 테스트해보세요.^^


그리고 오류가 나면 직접 디버깅하는 습관을 들이시길 바랍니다. ^^


디버깅만 잘해도 삽질하는 시간을 엄청나게 줄일 수 있습니다.


그럼 첨부파일로 소스도 첨부해놓을테니 참조하세요.^^;;


그럼 다음 시간에 뵐께요..


바이바이~~~~  

관련글 더보기

댓글 영역