Hello

로그인 구현하기

by 볼빵빵오춘기

login.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>index</title>
</head>
<body>
<form action="/member/login" method="post">
<input type="text" name="memberEmail" placeholder="이메일">
<input type="text" name="memberPassword" placeholder="비밀번호">
<input type="submit" value="로그인">
</form>
</body>
</html>

 

Controller

  • 로그인을 하면 로그인 정보가 따라다녀야 하므로 매개변수에 HttpSession 을 넣어준다.
  • 로그인 성공하면 session에 로그인 사용자의 email을 넣어준다.
@GetMapping("/login")
public String loginForm(){
return "login";
}
@PostMapping("/login")
public String login(@ModelAttribute MemberDTO memberDTO, HttpSession session){
boolean loginResult = memberService.login(memberDTO);
if(loginResult) {
session.setAttribute("loginEmail", memberDTO.getMemberEmail());
return "main";
}else{
return "login";
}
}

 

Service

public boolean login(MemberDTO memberDTO) {
MemberDTO loginMember = memberRepository.login(memberDTO);
if(loginMember != null){
return true;
}else{
return false;
}
}

 

Repository

public MemberDTO login(MemberDTO memberDTO){
return sql.selectOne("Member.login",memberDTO);
}

 

Mapper.xml

select를 쓸 때는 resultType이 있어야한다.

<select id="login" parameterType="member" resultType="member">
select * from member_table where memberEmail = #{memberEmail} and memberPassword = #{memberPassword}
</select>

 

main.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>main</title>
</head>
<body>
<h2>${sessionScope.loginEmail} 님 환영합니다.</h2>
<button onclick="update()">내정보 수정하기</button>
<button onclick="logout()">로그아웃</button>
</body>
<script>
const update = () => {
location.href = "/member/update";
}
const logout = () => {
location.href = "/member/logout";
}
</script>
</html>
블로그의 프로필 사진

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기