[Spring][쇼핑몰 프로젝트][8] 로그인 기능 구현(페이지,메서드)

https://kimvampa.tistory.com/120

순서
1. 로그인 페이지(login.jsp) 아이디, 비번 전송

2. 로그인 처리 메서드 작성(MemberController.java)
This commit is contained in:
SeoJin Kim
2020-12-15 22:35:27 +09:00
parent c5683307f8
commit e828e4bdf0
10 changed files with 131 additions and 38 deletions

View File

@@ -3,6 +3,8 @@ package com.vam.controller;
import java.util.Random;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.vam.model.MemberVO;
import com.vam.service.MemberService;
@@ -131,4 +134,28 @@ public class MemberController {
}
/* 로그인 */
@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";
}
}

View File

@@ -21,7 +21,7 @@
<!-- 로그인 -->
<select id="memberLogin" resultType="com.vam.model.MemberVO">
select memberId, memberName, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
select memberId, memberName, adminck, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
</select>

View File

@@ -5,6 +5,10 @@
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<link rel="stylesheet" href="/resources/css/member/login.css">
</head>
<body>
@@ -12,29 +16,45 @@
<div class="wrapper">
<div class="wrap">
<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>
<form id="login_form" method="post">
<div class="logo_wrap">
<span>Book Mall</span>
</div>
<div class="pw_wrap">
<div class="pw_input_box">
<input class="pw_iput">
<div class="login_wrap">
<div class="id_wrap">
<div class="id_input_box">
<input class="id_input" name="memberId">
</div>
</div>
<div class="pw_wrap">
<div class="pw_input_box">
<input class="pw_iput" name="memberPw">
</div>
</div>
<div class="login_button_wrap">
<input type="button" class="login_button" value="로그인">
</div>
</div>
<div class="login_button_wrap">
<input type="button" class="login_button" value="로그인">
</div>
</div>
</form>
</div>
</div>
<script>
/* 로그인 버튼 클릭 메서드 */
$(".login_button").click(function(){
//alert("로그인 버튼 작동");
/* 로그인 메서드 서버 요청 */
$("#login_form").attr("action", "/member/login");
$("#login_form").submit();
});
</script>
</body>
</html>

View File

@@ -21,7 +21,7 @@
<!-- 로그인 -->
<select id="memberLogin" resultType="com.vam.model.MemberVO">
select memberId, memberName, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
select memberId, memberName, adminck, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
</select>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Mon Dec 14 20:33:49 KST 2020
#Tue Dec 15 11:19:19 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa

View File

@@ -3,6 +3,8 @@ package com.vam.controller;
import java.util.Random;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.vam.model.MemberVO;
import com.vam.service.MemberService;
@@ -130,4 +133,27 @@ public class MemberController {
}
/* 로그인 */
@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";
}
}

View File

@@ -21,7 +21,7 @@
<!-- 로그인 -->
<select id="memberLogin" resultType="com.vam.model.MemberVO">
select memberId, memberName, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
select memberId, memberName, adminck, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
</select>

View File

@@ -5,6 +5,10 @@
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script
src="https://code.jquery.com/jquery-3.4.1.js"
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
crossorigin="anonymous"></script>
<link rel="stylesheet" href="/resources/css/member/login.css">
</head>
<body>
@@ -12,29 +16,45 @@
<div class="wrapper">
<div class="wrap">
<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>
<form id="login_form" method="post">
<div class="logo_wrap">
<span>Book Mall</span>
</div>
<div class="pw_wrap">
<div class="pw_input_box">
<input class="pw_iput">
<div class="login_wrap">
<div class="id_wrap">
<div class="id_input_box">
<input class="id_input" name="memberId">
</div>
</div>
<div class="pw_wrap">
<div class="pw_input_box">
<input class="pw_iput" name="memberPw">
</div>
</div>
<div class="login_button_wrap">
<input type="button" class="login_button" value="로그인">
</div>
</div>
<div class="login_button_wrap">
<input type="button" class="login_button" value="로그인">
</div>
</div>
</form>
</div>
</div>
<script>
/* 로그인 버튼 클릭 메서드 */
$(".login_button").click(function(){
//alert("로그인 버튼 작동");
/* 로그인 메서드 서버 요청 */
$("#login_form").attr("action", "/member/login");
$("#login_form").submit();
});
</script>
</body>
</html>

View File

@@ -21,7 +21,7 @@
<!-- 로그인 -->
<select id="memberLogin" resultType="com.vam.model.MemberVO">
select memberId, memberName, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
select memberId, memberName, adminck, money, point from book_member where memberId = #{memberId} and memberPw = #{memberPw}
</select>

View File

@@ -1,5 +1,5 @@
#Generated by Maven Integration for Eclipse
#Mon Dec 14 20:33:51 KST 2020
#Tue Dec 15 11:19:20 KST 2020
version=1.0.0-BUILD-SNAPSHOT
groupId=com.vam
m2e.projectName=VamPa_MySQL