728x90
memloginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="contextPath" value="${pageContext.request.contextPath}"/>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
if(${!empty msgType}){
$("#messageType").attr("class", "modal-content panel-warning");
$("#myMessage").modal("show");
}
});
</script>
</head>
<body>
<div class="container">
<jsp:include page="../common/header.jsp"/>
<h2>Spring MVC03</h2>
<div class="panel panel-default">
<div class="panel-heading">로그인화면</div>
<div class="panel-body">
<form action="${contextPath}/memLogin.do" method="post">
<table class="table table-bordered" style="text-align: center; border: 1px solid #dddddd;">
<tr>
<td style="width: 110px; vertical-align: middle;">아이디</td>
<td><input id="memID" name="memID" class="form-control" type="text" maxlength="20" placeholder="아이디를 입력하세요."/></td>
</tr>
<tr>
<td style="width: 110px; vertical-align: middle;">비밀번호</td>
<td colspan="2"><input id="memPassword" name="memPassword" class="form-control" type="password" maxlength="20" placeholder="비밀번호를 입력하세요."/></td>
</tr>
<tr>
<td colspan="2" style="text-align: left;">
<input type="submit" class="btn btn-primary btn-sm pull-right" value="로그인"/>
</td>
</tr>
</table>
</form>
</div>
<!-- 실패 메세지를 출력(modal) -->
<div id="myMessage" class="modal fade" role="dialog" >
<div class="modal-dialog">
<!-- Modal content-->
<div id="messageType" class="modal-content panel-info">
<div class="modal-header panel-heading">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">${msgType}</h4>
</div>
<div class="modal-body">
<p>${msg}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="panel-footer">스프1탄_인프런(박매일)</div>
</div>
</div>
</body>
</html>
controller.java
// 로그인 화면으로 이동
@RequestMapping("/memLoginForm.do")
public String memLoginForm() {
return "member/memLoginForm";
}
// 로그인 기능 구현
@RequestMapping("memLogin.do")
public String memLogin(Member m, HttpSession session, RedirectAttributes rttr) {
if(m.getMemID()==null || m.getMemID().equals("") ||
m.getMemPassword()==null || m.getMemPassword().equals("")) {
rttr.addFlashAttribute("msgType", "실패 메세지");
rttr.addFlashAttribute("msg", "모든 내용을 입력해주세요");
return "redirect://memLoginForm.do";
}
Member mvo = memberMapper.memLogin(m);
if(mvo!=null) { // 로그인에 성공
rttr.addFlashAttribute("msgType", "성공 메세지");
rttr.addFlashAttribute("msg", "로그인에 성공했습니다");
session.setAttribute("mvo", mvo);
return "redirect:/";
} else { // 로그인에 실패
rttr.addFlashAttribute("msgType", "실패 메세지");
rttr.addFlashAttribute("msg", "다시 로그인 해주세요");
return "redirect://memLoginForm.do";
}
}
로그아웃
//로그아웃처리
@RequestMapping("/memLogout.do")
public String memLogout(HttpSession session) {
session.invalidate();
return "redirect:/";
}
로그 아웃 처리는 매우 간단하다. session.invalidate()로 세션을 끊어버리면 된다.
728x90
'👩🏫 Study > 스프링레거시 강의' 카테고리의 다른 글
servlet-context.xml, root-context.xml, web.xml 대신 Java로 Configuration하기 (0) | 2023.10.20 |
---|---|
사진업로드하기 (0) | 2023.10.20 |
게시판 회원가입 하기 (0) | 2023.10.19 |
Ajax와 jQuery를 이용한 스프링 게시판 만들기 (0) | 2023.10.19 |
게시판 만들기 (0) | 2023.10.18 |