전체 글
-
Java 날짜 관련 메소드 정리 (SimpleDateFormat, parse(), format())Java 2023. 8. 11. 19:23
Date 클래스를 사용하다보면, 원하는 날짜 형식을 얻기 어렵다. 그래서 원하는 날짜 포맷을 얻기 위해서는 java.text.SimpleDateFormat 클래스를 이용하는 경우가 있다. * format() date 형식의 데이터를 문자열로 전환해준다. // 사용법 Date today = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateStr = dateFormat.format(today); * parse() 파라미터로 받은 문자열을 date 타입의 객체로 전환해준다. // 사용법 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd")..
-
DAO & DTO & Entity 비교 (POJO, BO 간단한 설명)Spring Framework 2023. 8. 11. 19:14
DAO 실제로 DB에 접근하는 객체이다. sevice class와 DB를 연결한다. DTO 하위 시스템 간의 호출 숫자를 줄여 서비스의 시스템 비용(overhead)을 감소시키기 위해 사용 POJO 형식으로 구현 데이터 교환을 위한 Java Bean 로직을 가지고 있지 않은 순수한 데이터 객체로, Getter/Setter 메소드만 가진다. toEntity 메소드를 통해 Entity로 만든다. Entity 실제 DB의 테이블과 매칭될 클래스 @Entity, @Column, @Id 등을 이용한다. 해당 클래스 안에서 필요한 로직 메소드를 구현할 수 있다. 참고) VO와 DTO 비교 VO는 DTO와 다르게 Read Only 속성을 가진다. VO는 특정한 비즈니스 값을 담는 객체 DTO는 Layer간의 통신 용..
-
Spring에서 CORS ERROR 설정Spring Framework 2023. 8. 11. 19:10
1. 스프링 전역으로 사용할 CORS 설정 @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:8080", "http://localhost:8081") // 허용할 출처 .allowedMethods("GET", "POST") // 허용할 HTTP method .allowCredentials(true) // 쿠키 인증 요청 허용 .maxAge(3000) // 원하는 시간만큼 pre-flight 리퀘스트를 캐싱 } } 2..
-
CORS 에러 정리(2)_시나리오WEB & CS 2023. 8. 11. 19:00
CORS 시나리오 1. simple request Prefilght를 생략하고 바로 서버에 요청을 보내서 CORS에러 검사 3가지 조건이 만족해야한다. 요청은 GET, HEAD, POST 메서드 중에 하나 Accept, Accept-Language, Content-Language, Content-Type, DPR, Downlink, Save-Data, Viewport-Width, Width 헤더일 경우 에만 적용된다. Content-Type 헤더가 application/x-www-form-urlencoded, multipart/form-data, text/plain중 하나여야한다. 2. preflight request 브라우저는 서버로 HTTP OPTIONS 메소드로 예비 요청(Preflight)을 먼저..
-
CORS 에러 정리(1)WEB & CS 2023. 8. 11. 18:59
* origin = 프로토콜 + 호스트 + 포트 ex) https:// : protocol , www.domain1.com : host , :8080 : port SOP - 다른 origin의 스크립트가 실행되지 않도록 브라우저에서 사전에 차단 - 같은 origin끼리만 요청을 보낼수 있다. http://www.domain1.com -> http://www.domain2.com (X) CORS - 다른 origin도 요청을 보낼 수 있다. http://www.domain1.com -> http://www.domain2.com (O) 참고) * CORS에러는 다른 출처라서 에러가 나는것인데, CORS 설정을 해주면 된다. -> SOP 정책을 위반해도 CORS 정책에 따르면 다른 출처의 리소스라도 허용한다는..
-
properties파일에서 설정한 변수 jsp에서 사용하기WEB & CS 2023. 8. 11. 18:50
spring:eval 태그를 사용해 설정하기 1. dispatcher-servlet.xml 파일에 사용할 properties 경로 설정하기 // * 위에 bean태그 안에 util을 사용하기 위해 추가 xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd" 2. jsp에서 사용할 변수 설정 // jsp 상단에 작성 - sysGlobals : dispatcher-servlet.xml에서 설정한 id 값 - url : properties 파..
-
자바 JSON으로 받은 데이터를 Map, List로 변환하기Java 2023. 5. 13. 15:55
API 통신을 하면서 응답(response)받을 때 대부분 JSON으로 받는 분들이 많을 것이라 생각합니다. JSON은 Map과 기본 형태가 동일하기 때문에 편하게 사용할 수 있을 것입니다. 그렇다면 JSON을 Map이나 List로 변환시키는 방법을 기술하겠습니다. 형변환 순서 * JSON dependency를 추가해야지 JSON 타입을 다룰 수 있다. 1. JSON을 받아서 String으로 변수의 타입을 바꿔준다. 2. String을 기준으로 Map이나 List로 형 변환해준다. public class Ex { public static void main(String[] args) { String str = JsonObject.toString(); // JSON -> String -> Map Map ma..
-
자바 compareTo 문자, 숫자 비교Java 2023. 4. 26. 20:42
compareTo - 2개의 값을 비교해서 정수를 반환해준다. 1. 정수 비교 int a = 0; int b = 0; a.compareTo(b); // 결과 예시 // 1 : a가 크다 // 0 : a와 b가 같다. // -1 : a가 작다. 2. 문자 비교 - 문자가 같은 위치에 포함하고 있으면 문자열의 길이 차이를 반환 - 같은 위치에 포함하고 있지 않으면 아스키값으로 비교해 차이를 반환 String a = "asdf"; String b = "asd"; String c = "b"; a.compareTo(b); // 1 (4 - 3) a.compareTo(c); // -1 (97 - 98) 3. 활용 - 알파벳 비교를 할 때 사용한다. String a = "A"; String b = "B"; int c..