목록Bank-End (53)
관심쟁이 영호
오늘은 로그인에서 쿠키 및 세션을 적용해볼 것이다! 목차 쿠키란? 쿠키구현 쿠키의 한계 세션이란? 세션구현 스프링에서의 세션 세션의 한계 쿠키란? 쿠키는 서버측에서 사용자가 누구인지 알기위한 식별값이다. TCP/IP 위의 HTTP 통신이 지속성이 없기 때문에(한번 요청 - 한번 응답 끝) 사용자가 요청했을 때, 서버측에서는 그 사용자가 누구인지 모른다. 서버는 사용자가 요청을하면 쿠키를 생성하여 응답에 포함하여 전달한다. 그림으로 살펴보자. 1) 최초의 Request - Response 사용자가 서버측에 Post요청을 한다. 서버는 회원 저장소에서 로그인 id에 맞는 정보가 있는지 확인한다. 없어서 쿠키를 설정하고(Set-Cookie: id=abc) 응답한다. 회원은 웹브라우저에 있는 쿠키 저장소에 쿠키..
이번 기록은 Spring Boot와 JPA를 이용하여 로그인을 구현해볼 것이다. 목차 로그인 프론트 생성 로그인 컨트롤러 매핑 로그인 Service 구현 기타 로그인 프론트 생성 가장 먼저 로그인을 받을 프론트를 생성하자! 프론트는 아주 간단하게 만들어 볼 것이다. 코드는 다음과 같다. 로그인입니다. ID : PASSWORD : 제출 화면은 다음과 같다. 코드 설명: form 형태로 id와 password를 post 방식으로 요청한다. 로그인 컨트롤러 매핑 매핑은 Get, Post 이렇게 2가지 방식으로 진행할 것이다. Get 매핑 : "login" 템플릿을 response 한다. Post 매핑: 로그인 정보를 DB에서 조회하여 로직을 거친 다음, 성공 실패 여부를 정한다. 성공 시 HOME화면으로 이동..
오늘은 Bean Validation에 대해서 기록을 해보자! 목차 Bean Validation 이란? Bean Validation Error 발생시키기 Bean Validation 실행 내용 이해하기 Bean Validation Object Error Bean Validation 이란? 웹 서버를 운영하면서, 사용자에게 여러 가지 입력을 받는다. 모든 사용자가 올바른 양식의 입력을 해주면 좋겠지만, 사용자도 사람인지라 올바르지 못한 입력을 할 가능성이 있다. 가령, 회원가입을 진행하면서 id를 공백으로 입력하는 경우를 말할 수 있다. 물론, Controller에서 if문을 이용하여 입력값을 검증할 수 있다. (고대 개발자들은 이렇게 했겠지..) 이렇게 할 경우에는 Controller가 너무 길어지고, 코..
이번에는 주문취소에 대해서 살펴볼 예정이다. 주문취소를 보는 이유는 DB에서 값을 가져와서 데이터를 변경해주는 작업이기 때문이다. 여기서 문제가 있다. 만약, 물품이 10개가 있다. A라는 사람이 1개의 물품을 주문함과 동시에 B라는 사람이 10개의 물품을 주문할 수도 있다. 이렇게 된다면, DB에도 문제가 생기고 결제서비스와 같은 직접 돈과 연관되어 있는 문제면 엄청난 파장이 생길 것이다. 어쨌든 살펴보자. 홈화면에서 "주문 내역"을 눌러준다. 그러면 위와같은 페이지가 나온다. 페이지에 해당하는 매핑 컨트롤러로 가보자! 페이지는 "http://localhost:8080/orders" 이다. // OrderController.class @Controller @RequiredArgsConstructor p..
이번에는 "주문하기"에 대한 코드를 살펴보자. 주문하기는 Member, item, order 등등 모든 테이블과 엔티티가 엮어있기 때문에 조금더 생각을 해야한다! 어쨋든, 홈화면에서 주문하기 버튼을 클릭해보자. 그렇게 되면, localhost:8080/order로 넘어가게 된다. 화면은 아래와 같다. 여기서 Controller에 매핑이 되어있을 것이다. 해당 url이 매핑되어 있는곳으로 가보자! ※ 주문 회원, 상품명을 클릭하면 리스트가 콥보박스처럼 드롭다운된다. @Controller @RequiredArgsConstructor public class OrderController { private final OrderService orderService; private final MemberService..
이전 시간에는 데이터베이스에 테이블을 어떻게 생성하는지 살펴보았다. 이번 시간에는 웹에서 데이터를 생성할 때를 살펴보자. 회원가입을 해보자. 위 그림과 같이 생성했다. "Submit" 버튼을 눌렀을 때, 어떤일이 일어날까!? - 먼저 해당화면을 구성하는 html을 살펴보자. 이름 Incorrect date 도시 거리 우편번호 Submit 위와 같이 구성되었다. 여기서 태그에 주목을 하면, "" 이렇게 코드가 짜여져 있다. 자세한 이해를 하고 싶다면, html의 form태그의 기능을 살펴보자! action 으로 "/members/new"라고 적혀있다. "/members/new"라고 매핑이 되어있는 곳으로 해당 폼정보를 던진다는 뜻이다. method는 폼정보를 post형태로 던진다는 뜻이다. 이렇게 던지면,..