wrap
인 div
태그 바로 다음 줄에 <form>
태그를 작성한다. form 태그의 id 속성명은 login_form
이고 method 속성명은 post이다.<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="/resources/css/member/login.css">
</head>
<body>
<div class="wrapper">
<div class="wrap">
<form id="login_form" method="post"><!-- form 추가 -->
<div class="logo_wrap">
<span>Book Mall</span>
</div>
<div class="login_wrap">
<div class="id_wrap">
<div class="id_input_box">
<input class="id_input">
</div>
</div>
<div class="pw_wrap">
<div class="pw_input_box">
<input class="pw_iput">
</div>
</div>
<div class="login_button_wrap">
<input type="button" class="login_button" value="로그인">
</div>
</div>
</form><!-- form 추가 -->
</div>
</div>
</body>
</html>
// 변경 전
<input class="id_input">
<input class="pw_iput">
// 변경 후
<input class="id_input" name="memberId">
<input class="pw_iput" name="memberPw">
-jquery를 사용할 것이기 때문에 먼저 jquery url 코드를 login.jsp의 head에 추가한다.
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<script>
/* 로그인 버튼 클릭 메서드 */
$(".login_button").click(function(){
alert("로그인 버튼 작동");
});
</script>
/* 로그인 버튼 클릭 메서드 */
$(".login_button").click(function(){
//alert("로그인 버튼 작동");
$("#login_form").attr("action", "/member/login");
$("login_form").submit();
});
MemberController.java
에 로그인 기능을 수행하는 메서드를 작성한다. 파라미터로는 MemberVO
, ‘HttpServletRequest’, ‘RedirectAttributes’를 사용한다.MemberVO
는 데이터를 전달받기 위해, HttpServletRequest
는 로그인 성공 시 session에 회원정보를 저장하기 위해, ‘RedirectAttributes’는 로그인 실패 시 리다이렉트 된 로그인 페이지에 실패를 의미하는 데이터를 전송하기 위해 사용한다. /* 로그인 */
@RequestMapping(value = "login", method = RequestMethod.POST)
public String loginPOST(HttpServletRequest request, MemberVO member, RedirectAttributes rttr) throws Exception {
System.out.println("login 메서드 진입");
System.out.println("전달된 데이터 : " + member);
return null;
}
HttpSession session = request.getSession();
/* 로그인 */
@RequestMapping(value = "login", method = RequestMethod.POST)
public String loginPOST(HttpServletRequest request, MemberVO member, RedirectAttributes rttr) throws Exception {
//System.out.println("login 메서드 진입");
//System.out.println("전달된 데이터 : " + member);
HttpSession session = request.getSession();
return null;
}
MemberVO lvo = memberService.memberLogin(member);
/* 로그인 */
@RequestMapping(value = "login", method = RequestMethod.POST)
public String loginPOST(HttpServletRequest request, MemberVO member, RedirectAttributes rttr) throws Exception {
//System.out.println("login 메서드 진입");
//System.out.println("전달된 데이터 : " + member);
HttpSession session = request.getSession();
MemberVO lvo = memberService.memberLogin(member);
if (lvo == null) { // 아이디, 비밀번호가 일치하지 않는 경우
int result = 0;
rttr.addFlashAttribute("result", result);
return "redirect:/member/login";
}
session.setAttribute("member", lvo); // 아이디, 비밀번호가 일치할 경우 (로그인 성공)
return "redirect:/main";
}