안녕하세요.
오늘하루도 즐거운 하루 보내셨나요?? ^^
이번 강좌부터 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>
여기까지 하시면 스프링 로그인 처리와 관련하여 모든 처리가 끝났습니다.
코딩을 하시고 직접 브라우져에서 테스트해보세요.^^
그리고 오류가 나면 직접 디버깅하는 습관을 들이시길 바랍니다. ^^
디버깅만 잘해도 삽질하는 시간을 엄청나게 줄일 수 있습니다.
그럼 첨부파일로 소스도 첨부해놓을테니 참조하세요.^^;;
그럼 다음 시간에 뵐께요..
바이바이~~~~
스프링 로그인 처리에 들어가기에 앞서... (0) | 2019.01.08 |
---|
댓글 영역