📅2024. 02.02 40일차
<script type="text/javascript">
var LoginForm__submitDone = false;
function LoginForm__submit(form) {
if (LoginForm__submitDone) {
alert('이미 처리중입니다');
return;
}
var loginId = form.loginId.value.trim();
var loginPw = form.loginPw.value.trim();
console.log('form.loginId.value : ' + loginId);
console.log('form.loginPw.value : ' + loginPw);
if (loginId.length == 0) {
alert('아이디를 입력해주세요');
form.loginId.focus();
return;
}
if (loginPw.length == 0) {
alert('비밀번호를 입력해주세요');
form.loginPw.focus();
return;
}
LoginForm__submitDone = true;
form.submit();
}
</script>
<form method="POST" action="doLogin"
onsubmit="LoginForm__submit(this); return false;">
<div>
로그인 아이디 : <input autocomplete="off" type="text"
placeholder="아이디를 입력해주세요" name="loginId" />
</div>
<div>
로그인 비밀번호 : <input autocomplete="off" type="text"
placeholder="비밀번호를 입력해주세요" name="loginPw" />
</div>
<button type="submit">로그인</button>
</form>
<div>
<a style="color: green" href="../article/list">리스트로 돌아가기</a>
</div>
@RequestMapping("/usr/member/login")
public String showlogin(HttpServletRequest req) {
return "usr/member/login";
}
@RequestMapping("/usr/member/doLogin")
@ResponseBody
public String doLogin(HttpSession httpSession, String loginId, String loginPw) {
boolean isLogined = false;
if (httpSession.getAttribute("loginedMemberId") != null) {
isLogined = true;
}
if (isLogined) {
return Ut.jsReplace("F-A", "이미 로그인 상태입니다.", "/");
}
if (Ut.isNullOrEmpty(loginId)) {
return Ut.jsReplace("F-1", "아이디를 입력해주세요.");
}
if (Ut.isNullOrEmpty(loginPw)) {
return Ut.jsReplace("F-2", "비밀번호를 입력해주세요.");
}
Member member = memberService.getMemberByLoginId(loginId);
if (member == null) {
return Ut.jsReplace("F-3", Ut.f("%s(은)는 존재하지 않는 아이디입니다", loginId),"../member/login");
}
if (member.getLoginPw().equals(loginPw) == false) {
return Ut.jsReplace("F-4", "비밀번호가 일치하지 않습니다.","../member/login");
}
httpSession.setAttribute("loginedMemberId", member.getId());
return Ut.jsReplace("S-1", Ut.f("%s님 환영합니다", member.getNickname()), "../article/list");
}
public static String jsReplace(String resultCode, String msg) {
if (resultCode == null) {
resultCode = "";
}
if (msg == null) {
msg = "";
}
String resultMsg = resultCode + " / " + msg;
return Ut.f("""
<script>
const resultMsg = '%s'.trim();
if(resultMsg.length > 0){
alert(resultMsg);
}
</script>
""", resultMsg);
}
}