본문 바로가기

728x90
반응형

JAVA

[JAVA] HTTPS 요청 시 SSL 인증서 오류 무시하기 PKIX path building failed 오류 해결법 자바 https 통신 시도 시 다음과 같은 에러가 발생하는 경우 sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 원인은 간단히 말해서 Java의 신뢰하는 인증서 목록(keystore)에 사용하고자 하는 인증기관이 등록되어 있지 않아 접근이 차단되는 현상이다. 1. 다음 사이트에 인증서를 추가하는 여러가지 방법이 나와 있다. https://www.lesstif... 더보기
[JAVA] POI 엑셀파일 생성시, "XXX의 내용에 문제가 있습니다." * JAVA POI 엑셀파일 생성시, "이 통합 문서의 내용을 복구하시겠습니까?" 에러 해결보자 최근 java POI를 사용하여 엑셀업로드 개발을 작업하고 있는데, 한가지 문제를 만났다. 엑셀 파일을 생성 후 아래 코드처럼 구현하였는데, response.setHeader("Set-Cookie", "fileDownload=true; path=/"); response.setHeader("Content-Disposition", String.format("attachment; filename=" + excelName)); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); wb.write(resp.. 더보기
[JAVA] 이미지 업로드하기 @ResponseBody @PostMapping("/file/upload") public ApiSuccess upload( HttpSession session, @RequestParam(value = "accept", required = false) String accept, @RequestParam(value = "isProductImage", required = false) boolean isProductImage, @RequestParam(value = "limit", required = false, defaultValue = "0") long limit, @RequestParam(value = "width", required = false, defaultValue = "0") int width, .. 더보기
[Java] 객체지향 생활 체조 규칙 1: 메서드당 들여쓰기 한 번 어디서 시작할지 몰라 덩치크고 오래된 메서드를 노려보고 있다면? 거대한 메서드는 응집력이 떨어진다. 한 지침은 메서드 길이는 5줄로 제한하는 것이지만, 그런 종류의 이전(transition)은 코드가 500줄짜리 괴물들로 어질러져 있으면 의욕이 꺾이기 쉽다. 대신, 각 메서드가 정확히 한 가지 일을 하는지, 즉 메서드당 하나의 제어 구조나 하나의 문장 단락(block)으로 되어 있는지를 지키려고 노력한다. 한 메서드 안에 중첩된 제어구조가 있다면 다단계의 추상화를 코드로 짠 것이며, 고로 한 가지 이상의 일을 하고 있다는 뜻이다. 정확히 한 가지 일을 하는 메서드들로 작업을 하면 코드가 달라지기 시작한다. 애플리케이션의 각 단위가 더 작아짐에 따라 재사용의 수준은 기하.. 더보기
[Java] Rest API REST API 목차 REST API의 탄생 REST 구성 REST 의 특징 REST API 디자인 가이드 HTTP 응답 상태 코드 1. REST API의 탄생 REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩 (Roy Fielding)의 박사학위 논문에서 최초로 소개되었습니다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 합니다. 2. REST 구성 쉽게 말해 REST API는 다음의 구성으로 이루어져있습니다. 자세한 내용은 밑에서 설명하도록 하겠습니다. 자원(RESOURCE).. 더보기
[Java] DAO,DTO,Entitiy Class DAO, DTO, Entity Class의 차이를 이해하다. Goal DAO(Data Access Object)란 무엇인지 이해한다. DTO(Data Transfer Object)란 무엇인지 이해한다. Entity Class란 무엇인지 이해한다. package 구조에 따른 흐름, 해당 package의 역할 및 기능을 이해한다. DAO(Data Access Object) 란? repository package 실제로 DB에 접근하는 객체이다. Persistence Layer(DB에 data를 CRUD하는 계층)이다. Service와 DB를 연결하는 고리의 역할을 한다. SQL를 사용(개발자가 직접 코딩)하여 DB에 접근한 후 적절한 CRUD API를 제공한다. JPA 대부분의 기본적인 CRUD method.. 더보기
[Java] Unit Test - 3.테스트 작성 1. Spring 설정 참조가 필요 없는 클래스의 단위 테스트 # MockitoJUnitRunner를 사용 : Spring 관련 설정이 필요 없음 # 테스트 할 클래스에서 spring annotation을 통해서 주입되어야 할 객체를 Mock annotation을 추가해서 선언 # 테스트 할 클래스를 InjectMocks annotation을 추가해서 생성 # setUp 에 MockitoAnnotations.initMocks(this); 추가 @RunWith(MockitoJUnitRunner.class) public class TestTargetServiceTest { @Mock private MockService mockService; @InjectMocks private TestTargetServic.. 더보기
[Java] Unit Test - 2.테스트 개요 1. Mock Object 란? # 다른 누군가로부터 휴대 전화 서비스(CellPhoneService) 기능을 제공 받아 이를 사용한 휴대 전화 문자 발신기(CellPhoneMmsSender)를 프로그래밍 한다고 생각해 보자. 이를 코드로 나타내면 아래와 같다. public class CellPhoneMmsSender { private CellPhoneService cellPhoneService; public CellPhoneMmsSender(CellPhoneService cellPhoneService) { this.cellPhoneService = cellPhoneService; } public void send(String msg) { cellPhoneService.sendMMS(msg); } } C.. 더보기

728x90
반응형