Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- java
- js
- 기초 코딩
- 자바스크립트
- springboot
- 자바
- 웹
- 전자정부 서버세팅
- 구글 oauth
- 웹앱
- javaspring
- Spring Boot
- 리액트세팅
- 코딩
- 리액트프로젝트세팅
- HTML
- 자바스크립트기초문법
- 자바스크립트 기초
- 구글캘린더api
- spring
- Javascript
- react
- 기초코딩
- 처음만나는자바스크립트
- CSS
- 마이바티스
- 자바스크립트기초
- 스프링부트
- mybatis
- 리액트초기세팅
Archives
- Today
- Total
인생 디벨로퍼
Cookie 아이디 저장하기 본문
728x90
checkbox 뷰 만들기
<div class="form-group mb-2">
<input type="text" name="username" class="form-control" value="${remember}" placeholder="Enter username" id="username">
유저네임을 기억할까요? <input type="checkbox" name="remember"><br />
</div>
Controller
"/loginForm"
@GetMapping("loginForm")
public String loginForm(HttpServletRequest request) {
String username = "";
Cookie[] cookies = request.getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().equals("remember")) {
username = cookie.getValue();
}
}
request.setAttribute("remember", username);
return "user/loginForm";
}
- HttpServletRequest : Java Servlet API 에서 제공하는 인터페이스. HTTP 요청에 대한 정보를 담고 있다 (요청 URL, 메소드, 헤더, 파라미터, 쿠키, 세션 등)
- Cookie : 웹 서버가 클라이언트에게 저장하는 작은 데이터 조각. (이름 = 값) 이 쌍으로 구성됨. 속성으로 (이름, 값, 만료일, 도메인, 경로, 보안, HTTP전용) 등을 가짐
"/login"
@PostMapping("/login")
public String login(LoginReqDto loginReqDto, String remember, HttpServletResponse response) {
if (loginReqDto.getUsername() == null || loginReqDto.getUsername().isEmpty()) {
throw new CustomException("username을 작성해주세요");
}
if (loginReqDto.getPassword() == null || loginReqDto.getPassword().isEmpty()) {
throw new CustomException("password을 작성해주세요");
}
User principal = userService.로그인(loginReqDto);
if (remember == null) {
remember = "";
}
System.out.println("확인 : " + remember);
if (remember.equals("on")) {
Cookie cookie = new Cookie("remember", loginReqDto.getUsername());
response.addCookie(cookie);
} else {
Cookie cookie = new Cookie("remember", "");
response.addCookie(cookie);
}
session.setAttribute("principal", principal);
return "redirect:/";
}
체크박스 선택후 로그인 -> Set-Cookie 에 remember=ssar 확인 가능
jsp 수정
div class="form-group mb-1">
<input type="text" name="username" class="form-control" value="${remember}" placeholder="Enter username" id="username">
유저네임을 기억할까요? <input type="checkbox" name="remember" ${remember != "" ? 'checked' : ''}><br />
</div>
로그아웃 후, 다시 로그인 할때 ckeck on 상태를 유지하기 위해 코드 추가
728x90
'JAVA Spring' 카테고리의 다른 글
myBatis 검색 연습, 검색 쿼리 (.feat 페이징) (0) | 2023.06.23 |
---|---|
myBatis 페이징 연습 (0) | 2023.06.20 |
[Ajax] 비밀번호 확인 (0) | 2023.06.18 |
[Ajax] 좋아요 만들기! (0) | 2023.06.18 |
[Ajax] 썸네일 수정 contentType 설정 (0) | 2023.06.17 |