본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Spring framework/Spring boot27

SpringBoot ErrorController(스프링부트 에러컨트롤러)에서 getErrorPath 메소드는 어디에? 스프링부트(Spring boot)에서 400, 401, 403, 404, 500 등등 오류를 관리하기 위해서 사용되는 기능 중 편리하게 적용 할 수 있는 방법 한가지는 ErrorController를 상속받는 것 입니다. 기능을 만드는 것은 어렵지가 않는데.. 구글링을 하다보면 ErrorController에서 상속을 받아 getErrorPath 메소드를 오버라이드(Overrride) 해 주어야 한다고 쓰여있습니다. 그래서 해당 내용을 참고하고 ErrorController 인터페이스를 상속받아 샘플코드를 만들어 보았습니다만.. 빨강색 오류가 나타났습니다. 오류내용이...ErrorController에 상속받을 메소드가 없다고 나온 것 인데.. 이게 뭔일인지 싶어서 해당 ErrorController 인터페이스를.. 2021. 11. 25.
Spring JWT 를 활용한 로그인 프론트프레임워크(라이브러리)인 앵귤러, 리엑트 및 뷰js등의 기능이 이제 슬슬 대세가 되는 것 같습니다. 이러한 프론트프레임워크(라이브러리)는 SPA 방식(Single Page Application) 이기 때문에 페이지 로딩을 위해 최초 1회만 서버에 요청할 뿐 그 이후에는 데이터에 대한 CRUD 요청만 보내게 됩니다. 이러한 프론트 프레임워크에서의 기술에서 로그인과 관련된 내용을 좀 더 쉽게 구현하기 위해서는 서버에서의 세션(SESSION)보다는 특정 암호화된 키 값을 활용한 json web token 방식(JWT)이 좀 더 낫다고 생각 합니다. JWT를 사용하기 위해서는 먼저 라이브러리 2개를 받아 줍니다. * gradle 기준 implementation 'io.jsonwebtoken:jjwt:0.9.. 2021. 11. 19.
SpringBoot change Java 8 to Java 11(스프링 부트 Java 1.8을 11로 변경) 스프링 부트에서 자바 1.8버전을 1.11버전으로 바꾸는 방법입니다. * 개발환경에 다소 차이가 있어서 내용이 상이할 수 있습니다. * 개발 환경 - 개발 도구 : STS 버전 4.2.0.RELEASE - 자바 버전 : 11 - 데이터 베이스 : 몽고db - 빌드 플러그인 : maven 기본 조건은 프로젝트가 자바11로 환경 세팅이 다 되어있다는 가정 입니다. 그레이들(Gradle)을 사용하지 않고 메이븐(maven) 환경에서 개발을 진행 하였습니다. 먼저 pom.xml에 내용을 확인하여 줍니다. 1. 해당 버전을 11로 바꾸어 줍니다. 간혹 1.11로 바꾸는 경우가 있는데, 11로 바꾸도록 합니다. 11 2. 빌드(build) 항목에서 메이븐 컴파일러를 추가하여 줍니다. 프로젝트를 자동으로 만드는 경우.. 2020. 12. 2.
Springboot 터널링(스프링 부트 터널링, Spring boot ssh, 스프링 부트 ssh) Springboot에서 터널링을 활용하여 데이터 베이스에 접속해야 되는 기능을 만드는 것은 어렵지 않습니다. 터널링을 하여 주는 클래스를 생성한 뒤에 SSH를 통해서 원하는 포트로 연결을 해 준 다음에 데이터베이스를 사용하면 됩니다. 아래와 같은 터널링용 클래스가 있다고 가정하여 봅니다. 데이터베이스는 몽고DB에 접속하는 상황 입니다. * 터널링용 클래스 예제 import com.jcraft.jsch.JSch; import com.jcraft.jsch.Session; public class SshTunneling { private static JSch jsch = new JSch(); private String url = "원격주소"; private String username = "아이디"; priva.. 2020. 11. 25.
SpringBoot InfluxDB(Spring boot 인플럭스DB) 간단하게 정리하였습니다! 인플럭스db는 시계열(Time Series) 데이터베이스 중 하나로, RDBMS와 많은 점에서 유사하지만 모든 Row가 Time이라고 불리는 고유한 시간값을 가진다는 점에서 차별점을 갖는 형태의 데이터 베이스 입니다. InfluxDB의 목적은 관계형 데이터를 저장하는 것이 아니라 지속적으로 수집되는 값들을 시간의 차원에서 관리하기 용이하도록 만들어 졌다고 할 수 있습니다! 스프링 부트에서 연동하는 방법은 간단합니다. 1. 관련된 라이브러리를 받습니다. * maven 기준 org.influxdb influxdb-java 2. 연결할 클래스를 생성하여 줍니다. 인플럭스DB 자체는 HTTP 프로토콜을 활용한 서버를 제공하여 주기 때문에 쉽게 연결 가능 합니다! import org.in.. 2020. 11. 19.
remove Springboot jsessionid , 스프링부트 jsession 제거 jseesion이란? jseesion은 새 세션이 만들어지면 클라이언트가 쿠키를 지원하는지 여부를 서버가 알 수 없으므로 쿠키와 URL에 모두 jsessionid를 만들어 주는 것을 의미하며 url에 붙어서 보이거나 헤더에 붙어서 나온다. 클라이언트가 두 번째 요청부터 세션 쿠키를 보내오면 URL에 jsessionid를 붙이지 않고, 쿠키가 없으면 계속 URL에 jsessionid 를 붙이게 된다. 뭐..나름 괜찮은 기능 아닌가? 그런데 스프링 부트를 사용하다 jsessionid가 나타나 프로젝트를 납품하다 지적(?)받는 경우가 있었다. 보안에 문제가 있다고하는데 이게 왜 보안에 심대한 문제가 있는지는 잘 모르겠다. ServletContextInitializer 클래스를 Bean객체로 등록하여 스프링 부.. 2019. 12. 3.