<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
모달 연결 시
link : 로는 CSS(스타일시트) 연결을 할 수 있다.
Bootstrap의 스타일을 적용한다.
이는 페이지의 레이아웃이나 디자인을 담당하게 된다.
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
script : 태그를 이용하여 JavaScript 기능을 활성화 시킬 수 있다.
모달, 드롭다운 메뉴, 토글 기능 등과 같은 인터랙티브한 동작이 포함된다.
<!-- 로그인용 모달 -->
<div class="modal fade" id="loginModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5">LOGIN</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form action="<%= contextPath %>/member/login" method="post">
<div class="modal-body">
<div class="mb-3">
<label for="userId" class="col-form-label">ID:</label>
<input type="text" class="form-control" placeholder="Enter ID.." id="userId" name="userId"/>
</div>
<div class="mb-3">
<label for="userPwd" class="col-form-label">PASSWORD:</label>
<input type="password" class="form-control" placeholder="Enter Password.." id="userPwd" name="userPwd" />
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">로그인</button>
<button type="button" class="btn btn-danger" data-bs-dismiss="modal">취소</button>
</div>
</form>
</div>
</div>
</div>
membr controller :
@RequestMapping("/login")
public String loginMember(Member m, Model model, HttpSession session){
Member loginUser = mService.loginMember(m);
if(loginUser != null &&
bCrypt.matches(m.getUserPwd(), loginUser.getUserPwd())
) { session.setAttribute("loginUser", loginUser);
* 로그인 성공 시 session 영역에 저장한다
return"redirect:/"; => url 재요청 (메인페이지)
}else {
// => Model 객체 : requestScope
model.addAttribute("errorMsg", "로그인의 실패했습니다");
로그인 실패 시 request영역에 에러메세지 저장
return "common/errorPage"; => 에러페이지로 응답
}
}
service :
필드 주입 방식으로 스프링 컨테이너에서 객체를 생성한다
private final SqlSessionTemplate sqlSession;
private final MemberDao mDao;
public Member loginMember(Member m) {
sqlSession 객체 생성 --> 스프링 컨테이너 생성
Dao 객체에 sqlSession, 전달된 데이터 전달하면 요청
return mDao.loginMember(sqlSession, m);
public Member loginMember(SqlSessionTemplate sqlSession, Member m) {
return sqlSession.selectOne("memberMapper.loginMember", m);
}
암호화 처리 전 sql문
SELECT *
FROM MEMBER
WHERE USER_ID = #{userId}
AND USER_PWD = #{userPwd}
AND STATUS = 'Y'
암호화 처리 후 sql문
SELECT *
FROM MEMBER
WHERE USER_ID = #{userId}
AND STATUS = 'Y'
</select>
'Javascript' 카테고리의 다른 글
REACT 명령어 모음 및 router (0) | 2024.10.12 |
---|---|
자바 스프링 회원가입 페이지 [기능 구현] (0) | 2024.10.11 |
CSS : margin과 padding 내용 정리하기 (0) | 2024.10.09 |
Javascript 개념 정리하기 (0) | 2024.10.08 |
CSS Flexbox란?? (0) | 2024.10.07 |