
(참고 : Spring Boot와 IntelliJ를 기준으로 작성된 글입니다.) Cookie 클라이언트(사용자)가 로그인을 하였을 때 가장 핵심은 서버와의 상태를 유지시켜야 한다는 것이다 기본적으로 비연결성을 유지하는 HTTP의 특성상, 상태를 유지시켜주기 위해서 Cookie와 Session을 사용한다 쿠키를 사용하여 연결상태를 유지시키는 과정은 대략적으로 아래와 같다 하지만 쿠키만 사용 할 시 아래와 같은 문제점이 있다 1. 클라이언트쪽에서 쿠키의 값을 변경할 수 있다 (쉬운 규칙으로 이루어져 있다면 다른 쿠키값으로 접근을 할 수 있다) 2. 쿠키에 보관된 정보를 훔쳐갈 수 있다 3. 쿠키를 한번 훔쳐가면 평생 사용할 수 있다 Session 위에서 살펴본 문제점들을 해결하기 위하여 Session을 사용..

(참고: Spring Boot와 Thymeleaf, IntelliJ를 기준으로 작성된 글입니다) 이전 글(Validation)에서 살펴보았던 Validation의 경우 코드를 직접 작성하여 테스트하였는데 검증이란 것이 특정 서비스에서만 적용이 되는 것이 아닌 만국 공통의 개념인 만큼 스프링 프레임워크가 이를 제공하는데 여기서 더 나아가 애노테이션 기반의 검증기인 Bean Validation(JSR-380)을 사용할 수 있다 Bean Validation 이란 검증을 매번 코드로 작성하기에는 너무 번거롭다는 단점이 있다, 또한 각 계층별로 검증이 필요하기 때문에 동일한 검증 코드를 작성하게 된다면 구현된 검증 로직 간 불일치로 인하여 오류가 발생할 수도 있다. 여기에 주된 검증의 내용이 빈 값을 검증하거나,..

(참고: Spring Boot와 Thymeleaf를 기준으로 작성된 글입니다.) (참고: 본 글은 Bean Validation을 살펴보기 전 Validation의 기본적인 동작 구조를 살펴보기 위한 글입니다.) Validation, 검증이라는 뜻대로 클라이언트가 보낸 값들을 검증하는 것이다 Validation이 필요한 이유를 비롯하여 어떻게 구현하는지 살펴보고자 한다 Validation이 필요한 이유 클라이언트가 보낸 값들을 검증할 때 클라이언트 사이드에서 JS 등을 사용하여 검증할 수도 있다 하지만 보내는 값을 조작하여 뚫을 수 있는 가능성이 있기 때문에 보안에 취약하다 그렇기 때문에 클라이언트 사이드 검증은 물론 반드시 서버 사이드에서도 데이터를 검증하여야 한다. (적절히 섞어 사용하는것이 제일 좋겠..
(참고: Spring Boot와 Thymeleaf를 기준으로 작성된 글입니다) 상품 페이지 등을 작성하면 공통된 단어들을 사용하는 경우가 빈번하다 (상품명, 상품 가격, 상품 수량 등등의) 만약 이런 요소들이 각각의 페이지에 작성되어 있는데 이를 하나하나 수정하려면 고된 반복 작업이 필요하다 스프링은 이런 작업을 편리하게 하고자 스프링 메시지라는 기능을 제공한다 이번글에서는 스프링 메시지가 무엇인지 어떻게 사용하는 것인지 살펴보고자 한다 Spring Message 스프링은 다양한 메시지를 한 곳에 관리하도록 MessageSource라는 인터페이스를 통하여 메시지 기능을 지원한다 이 기능을 사용하기 위해서는 구현체인 ResourceBundleMessageSource를 아래와 같이 스프링 빈을 등록해야 한다..

(참고: Spring Boot , IntelliJ를 기준으로 작성된 글입니다.) 타임리프는 스프링과 통합하기 위한 매뉴얼을 제공할 정도로 스프링을 사용할 때 편리한 기능들을 많이 제공한다 이번 글에서는 Form 작성 시 어떠한 편리기능을 제공하는지 살펴보고자 한다 Inputs : th:field & th:object 기존에 HTML의 Form을 작성할 때 태그의 경우 id와 name 그리고 value 등의 정보들을 일일이 적어주어야 했다 타임리프가 제공하는 th:field를 사용하면 이러한 속성들을 자동으로 생성해준다, 예시와 같이 살펴보겠다 보통 id 와 name을 같게 사용하는 경우가 대부분이라고 하는데, 타임리프의 th:field를 사용하게 되면 id , name 그리고 value까지 자동으로 생성..

Template Layout 이전 글에서 작은 개념인 Template Fragments(템플릿 조각)에 대하여 살펴보았다 이번 글에서는 이를 확장한 개념인 템플릿 레이아웃에 대하여 살펴보고자 한다 템플릿 레이아웃은 단순히 하나하나의 조각이 아니라 레이아웃을 적용시킬 html 파일을 살펴보자 메인 컨텐츠 위와 같이 레이아웃을 적용시키게 되면 아래와 같은 결과가 나온다 메인 컨텐츠 기존 레이아웃 틀에서 th:replace라고 작성했던 부분은 common_header(~{::title},~{::link})에 따라서 레이아웃이 적용되는 html에 있던 title과 links가 th:replace로 선언한 부분만 대체되지 않고 유지되었다 레이아웃 H1 레이아웃 컨텐츠 레이아웃 푸터 위의 레이아웃을 아래의 html..
- Total
- Today
- Yesterday
- maenco
- OOP
- 쿠키
- ResponseStatusExeceptionResolver
- application/x-www-form-urlencoded
- spring
- ExceptionHandlerExceptionResolver
- 맨코
- DTO와 VO의 차이
- Spring API Error
- 제이쿼리 기본 선택자
- Session
- 제이쿼리 탐색선택자
- Spring Container
- 제이쿼리 직접 선택자
- http
- 제이쿼리란
- 제이쿼리 위치탐색선택자
- 제이쿼리 인접 관계 선택자
- Spring MVC
- jQuery 직접 선택자
- uri
- Cache
- @ResponseStatus
- cookie
- DefaultHandlerExceptionResolver
- 세션
- @ExceptionHandlere
- Spring TypeConverter
- 캐시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |