로그인 부분
Mapper.XML(Oracle DB)
<!-- 로그인 -->
<select id="login" resultType="MemberVO">
<![CDATA[
select * from member
where id = #{id} and pw = #{pw}
]]>
</select>
로그인 시 id 와 pw 둘다 조건에 맞으면 로그인 하도록 쿼리 작성
Controller
//로그인
@GetMapping("/login")
public void login() {
}
@PostMapping("/login")
public String login(@ModelAttribute MemberVO member,
RedirectAttributes rttr, HttpServletRequest request) {
HttpSession http = request.getSession();
MemberVO vo = service.login(member);
//존재하는 id일경우
if(vo != null) {
http.setAttribute("member", vo);
return "redirect:/board/lists";
}else {
//존재하지 않을경우
rttr.addFlashAttribute("result",0);
return "redirect:/member/login";
}
}
로그인도 화면부분 데이터부분 나눠서 구현하였다.
post 부분에서 Httpsession을 사용하여 로그인 하였을때 session을 통해 아이디 비번을 db에 있는 값과 비교를 한다.
Service&DAO
Service
//로그인
@Override
public MemberVO login(MemberVO member) {
return dao.login(member);
}
DAO
//로그인
@Override
public MemberVO login(MemberVO member) {
return session.selectOne("mapper.member.login",member);
}
JSP
<a href="${path}/board/lists">
<strong><h1>시끌벅적 커뮤니티</h1></strong>
</a>
</div>
<div class="loginbox">
<h1>Login</h1>
<form id="login_form" method="post">
<div class="textForm">
<input type="text" name="id" id="id" class="id_input" placeholder="아이디">
</div>
<div class="textForm">
<input type="password" name="pw" id="pw" class="pw_input" placeholder="비밀번호">
</div>
<c:if test="${result == 0 }">
<div class="login_warn"> ID 또는 비밀번호를 잘못 입력하셨습니다.</div>
</c:if>
<div class="btnwrap">
<input type="button" class="btn" value="로그인" style='cursor:pointer;'/>
<a href="${path}/member/join">회원가입</a><br>
</div>
</form>
</div>
ID 와 PW 둘중 하나 또는 둘다 틀릴 경우 글씨를 띄우게 하였습니다. Controller 에서 존재하지 않을경우 변수 result 선언 한 것을 if문 조건에 넣어줍니다.
뒤로가기 버튼을 만드는것 대신 로그인창 맨위에 홈페이지 이름을 누르면 메인 화면으로 가게 하였습니다.
CSS
.login_warn{
color:red;
font-size: 0.9em;
text-align: center;
}
메시지에 대한 CSS 입니다.
JS
$(".btn").click(function(){
$("#login_form").attr("action", "${path}/member/login");
$("#login_form").submit();
});
버튼 클릭시 로그인 매핑 값을 통해 submit 하도록 하였습니다.

id 또는 pw 가 틀리면 저렇게 글씨가 나옵니다. 만약 성공한다면 controller 에서 선언한 redirect 주소 값으로 이동합니다~
'Spring > 커뮤니티 사이트' 카테고리의 다른 글
| [Spring][커뮤니티 사이트]회원 정보 수정(2) (0) | 2022.12.24 |
|---|---|
| [Spring][커뮤니티 사이트]회원 정보 수정(1) (0) | 2022.12.24 |
| [Spring][커뮤니티 사이트]회원가입(5) - 다음 주소API 와 회원 가입 버튼 (0) | 2022.12.24 |
| [Spring][커뮤니티 사이트]회원가입(4) - 이메일 전송 및 정규 표현식(유효성 검사) (0) | 2022.12.24 |
| [Spring][커뮤니티 사이트]회원 가입(3) - 정규 표현식(유효성 검사) (0) | 2022.12.24 |