1. 로그인 화면 만들기
2. mvc 패턴 만들기
3. 세션, 쿠키 설정
4. 잘 전달 됐는지 확인
1. 간단한 로그인 화면
부트스트랩 찾아보면서 복붙하면 된다.
<div class="container">
<form action="${root }main" method="get">
<input type="hidden" name="act" value="login">
<div class="form-group">
<label for="exampleInputEmail1">user id</label>
<input type="text" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" name="userid">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1" name="userpwd">
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1" name="idsave" value="checked">
<label class="form-check-label" for="exampleCheck1">Check me out</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
2. mvc패턴 만들기
3. 세션 쿠키 설정
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userid = request.getParameter("userid");
String userpwd = request.getParameter("userpwd");
System.out.println(userid +" "+ userpwd);
Member member=UserServiceImp.getUserServiceImp().login(userid, userpwd);
if(member!=null) {
//세션저장
HttpSession session = request.getSession();
session.setAttribute("userinfo", member);
//아이디저장 확인
String idsave = request.getParameter("idsave");
System.out.println("idsave"+idsave);
if("saveok".equals(idsave)) {
Cookie cookie = new Cookie("saveid", member.getUserid());
cookie.setPath("/");
cookie.setMaxAge(60*60);
response.addCookie(cookie);
}else {
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
if(cookies[i].getName().equals("saveid")) {
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
break;
}
}
}
request.getRequestDispatcher("/board/list.jsp").forward(request, response);
return;
//화면이동
}else {
//에러메시지출력
}
}
DB에서 잘 받아오면 먼저 세션을 만든다
//세션저장
HttpSession session = request.getSession();
session.setAttribute("userinfo", member);
쿠키 저장을 클릭 시, 저장해준다. 쿠키 설정 후, 꼭 response객체에 넣어서 전달해야한다.
String idsave = request.getParameter("idsave");
System.out.println("idsave"+idsave);
if("saveok".equals(idsave)) {
Cookie cookie = new Cookie("saveid", member.getUserid());
cookie.setPath("/");
cookie.setMaxAge(60*60);
response.addCookie(cookie);
}else {
Cookie[] cookies = request.getCookies();
for (int i = 0; i < cookies.length; i++) {
if(cookies[i].getName().equals("saveid")) {
cookies[i].setMaxAge(0);
response.addCookie(cookies[i]);
break;
}
}
}
4. 마지막으로 세션과 쿠키에 잘 저장 됐는지 확인
쿠키 확인
세션확인
세션에 저장 시, 객체의 필드값을 jsp에서 바로 사용가능하다
${userinfo.username } 님 안녕하세요.
'웹 > 백엔드, Spring' 카테고리의 다른 글
[Java] Spring과 SOLID - 1편 (1) | 2021.07.19 |
---|---|
[간단한 게시판 만들기] - 3. 게시글 쓰기 (0) | 2020.10.19 |
[간단한 게시판 만들기] - 1. DB연동 (0) | 2020.10.17 |
[활용] Servlet, 싱글 파라미터 넘기기 (0) | 2020.09.18 |
Servlet과 Jsp를 이용하여 싱글파라미터 넘기기 (0) | 2020.09.18 |