[Spring] 로그인 기능구현

BruteForceA·2022년 4월 13일
1
post-custom-banner

회원가입을 했으면 로그인을 해봐야 한다.
로그인 기능 구현을 해보자. 로그인을 하기위해
사용자의 아이디와 비밀번호를 조회해야 한다.




Login.jsp

<!-- 이메일 -->
<form accept-charset="UTF-8" method="post" action="/TEST/Login.do">
<input type="text" id="userid" name="email" placeholder="E-mail을 입력하세요" />

<!-- 비밀번호 -->
<input type="password" id="password"  name="pw" placeholder="비밀번호를 입력하세요"  />

 <!--제출 -->
<button type="submit"/>로그인</button>
</form>                         

회원가입 페이지를 만들어 준다.
아이디 또는 이메일로 하고 text 타입으로 input태그를 만든다.
비밀번호는 password 타입으로 만든다. submit 버튼을 만들고
action 속성으로 Controller 에 form을 보낸다.




MemberController

@Controller
public class MemberController {
	
	@Autowired
	private MemberService memberService;
	
	
	// 회원 로그인
	@PostMapping("/Login")
	public String Login(MemberVO vo, HttpSession session) {
		
		MemberVO Login = memberService.Login(vo);
		
		if(Login!=null) {
			session.setAttribute("LoginVo", Login);
		}
		
		return "redirect:/boardList";
	}
	


}

Controller -> Service 로 갔다가 돌아온다.
memberService에서 전달 받은 값이 있을 때 만 LoginVo 세션에 Login 값을 넣어준다.




MemberService, MemberServiceImple

public interface MemberService {
	
	//로그인
	public MemberVO Login(MemberVO vo);
	
}
@Service
public class MemberServiceImple implements MemberService {
	
	@Autowired
	private MemberMapper mapper;
	
	//로그인 mapper 접근
	@Override
	public MemberVO Login(MemberVO vo) {
	MemberVO VO = mapper.MemberLogin(vo);
	
	return VO;	
	}

}

mapper 에서 조회를 하고 값이 존재하면 VO에 담아서 반환을 한다.




MemberMapper, MemberMapper.xml

public interface MemberMapper {
	
	//@Select("Select * from T_MEMBER where email=#{email} and pw=#{pw}")
	public MemberVO MemberLogin(MemberVO vo);
	
}
<!-- 로그인 -->
	<select id="MemberLogin" resultType="kr.smhrd.domain.MemberVO">
	Select * from T_MEMBER where email=#{email} and pw=#{pw}
	</select>

Mapper.xml 에 쿼리를 작성해서 사용자가 입력한 이메일과 패스워드가 일치하는 회원정보가 있는지 조회한다. xml을 작성 안해서 주석 처리한 @Select 어노테이션을 사용해서 조회해도 결과는 같다. 오히려 이게 더 간편한것 같다.

post-custom-banner

0개의 댓글