로그인 구현하기
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
볼빵빵오춘기활동하기
Hello 춘기's world볼빵빵오춘기 님의 블로그입니다.