공부/Spring
[Spring] 로그인 로그아웃 하기
students
2022. 9. 6. 03:23
1. loginPage.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <div class="col-2 ms-5"> <!-- loginBox --> <div class="row px-3 py-2"> <div class="loginBox secBorder col"> <c:choose> <c:when test="${empty sessionUser }"> <!-- not logined--> <h3 class="secTitle"><i class="bi bi-file-lock2-fill"></i> 로그인</h3> <form action="./loginProcess" method="POSt"> <div class="loginForm"> <input class="form-control" id="IdInput" name="user_id" type="text" placeholder="아이디를 입력해 주세요." aria-label="default input example" /> <input class="form-control" id="PwInput" name="user_pw" type="password" placeholder="패스워드를 입력해 주세요." aria-label="default input example" /> <div> <div class="chk_box"> <input type="checkbox" id="saveIdBox" name=""> <label>ID저장</label> </div> <div class="login_btn_box"> <input type="submit" id="loginButton" class="btnBasic btn_submit" value="로그인"> </div> <div class="login_etcBox"> <a href="../user/userAgree">회원가입</a> </div> </div> </div> </form> </c:when> <c:otherwise> <h3 class="secTitle"><i class="bi bi-file-lock2-fill"></i> 로그인</h3> <div class="loginForm"> ${sessionUser.user_nickname }님 환영합니다. <div> <div class="chk_box"></div> <div class="login_etcBox"> <a href="./loginoutProcess" type="button" id="logoutButton" class="btnBasic btn_submit">로그아웃</a> </div> </div> </div> </c:otherwise> </c:choose> </div> </div> </div> | cs |
2) UserController.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @RequestMapping("loginPage") public String loginPage() { return "/user/loginPage"; } @RequestMapping("loginProcess") public String loginProcess(UserVo param, HttpSession session) { System.out.println("user_id : "+param.getUser_id()+""); System.out.println("user_pw : "+param.getUser_pw()+""); UserVo sessionUser = userService.login(param); if(sessionUser != null) { //인증 성공 //여기 신경쓰자... session.setAttribute 딱 한번 활용됨... 앞으로 getAttribute 많이 쓴다... session.setAttribute("sessionUser", sessionUser); } return "redirect:../board/mainPage"; } | cs |
3) UserService.java
1 2 3 4 | public UserVo login(UserVo userVo) { UserVo result = userSQLMapper.selectByIdAndPw(userVo); return result; } | cs |
4) UserSQLMapper.java
1 2 | /* 아이디 비밀번호 체크 */ public UserVo selectByIdAndPw(UserVo param); | cs |
5) UserSQLMapper.xml
1 2 3 4 5 6 | <select id="selectByIdAndPw" resultType="com.spring.example.vo.UserVo"> SELECT * FROM EXAMPLE_USER WHERE user_id = #{user_id} AND user_pw = #{user_pw} </select> | cs |
6) 확인
로그아웃
1) UserController.java
1 2 3 4 5 6 | @RequestMapping("loginoutProcess") public String loginoutProcess(HttpSession session) { session.invalidate(); //세션 저장 공간을 날리고 재구성.. return "redirect:./loginPage"; } | cs |