URI 를 임의적으로 조작하여 한글을 넣었을 경우, 검색 결과로 400번대 에러가 떨어져야 하는데 500 에러가 떨어진다. 원인은 URI 에 Query String 파라미터 값으로 한글이 들어갈 경우 backoffice web 에서 backoffice api 로 보내줄 때는 인코딩이 되는데 backoffice api 에서 aws core 로 넘어갈 때 한글 인코딩이 되지 않아 일어난 버그이므로 인코딩 처리를 해주면 된다. WebClientHelper.java 에 URI 넘겨주는 부분에서 toASCIIString() 처리하여 넘겨주면 해결된다. package com.jane.core.helper; import java.net.URI; @Log4j2 public class WebClientHelper { p..
* Spring Boot 에서 임베디드 톰켓 서버를 이용할 때 디폴트 서버로 HTTP 또는 HTTPS 를 선택해야 하는데, 이 때 HTTP 로 접속할 경우 HTTPS 로 redirect 시켜주는 방법 Spring Boot 2.0 버전부터 아래와 같이 config 파일을 작성하면 80 포트로 들어오는 요청을 433 포트로 전환 가능 package com.jane.backoffice.web.configs; import org.apache.catalina.Context; import org.apache.catalina.connector.Connector; import org.apache.tomcat.util.descriptor.web.SecurityCollection; import org.apache.tomc..
MVC Architecture 란 Model, View, Controller 를 분리한 디자인 패턴 Model 애플리케이션의 상태(data) 일반적으로 POJO 로 구성 Java Bean 으로 DAO 를 통해 데이터베이스와 같이 Data Storage 에 접근 View 디스플레이 되는 프레젠테이션 단 HTML 이 중심인 JSP, Thymeleaf, Freemarker 등 여러 템플릿 엔진 Controller View 와 Model 사이의 인터페이스 역할 Java 코드가 중심이 되는 Servlet Model Object 와 Model 을 화면에 출력할 View 이름을 반환 Controller - Service - DAO - DB (참고 : gmlwjd9405.github.io/2018/11/05/mvc-a..
웹 브라우저 웹 서버 http 프로토콜로 request 하는 클라이언트용 애플리케이션 http 프로토콜로 request 된 답을 html 로 response 해주는 서버용 app client 에서 특정 URL 로 request 를 보내면 server 에서 해당 request 에 적절한 html 로 response 해주며, 그렇게 response 받은 html 을 client 브라우저에서 파싱 후 UI 로 디스플레이 해준다. 여기서 URL 이란 IP, Protocol, Port 로 구성되어 있는데 예를 들어 아래와 같은 URL 이 있다고 했을 때 http:// : 웹의 디폴트 프로토콜 www.daum.net : 아이피 주소 :80 : 포트 /index.html : URI 포트까지가 디폴트이며, 그 뒤에 붙..