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

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

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


Spring framework73

QuartzJobBean에서 ApplicationContext을 통해 서비스(Bean) 받기 스프링 부트에서의 스케줄과 관련된 대표적인 라이브러리인 쿼츠(Quartz)설정은 매우 간단 합니다. maven 또는 gradle에서 라이브러리를 추가하는 것 만으로도 쿼츠(Quartz)와 관련된 객체가 자동으로 어플리케이션 영역에 생성되기 때문입니다. 스케줄을 실행하는 대표적인 Job클래스의 형태를 먼저 살펴보겠습니다. import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean; public class JobScheduler extends QuartzJobBean { @Override protected void exe.. 2021. 11. 26.
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.
Spring XSS 방지를 위한 lucy 필터(com.navercorp.lucy) xss공격 방지를 위해 다양한 방법이 나오지만 가장 쉬운 것은 잘 만들어진(?) 라이브러리를 사용하는 것 입니다. 이러한 라이브러리는 그만큼 많은 테스트와 검증이 되었을 테니까요. 스프링(전자정부)에서 XSS 공격을 방지하기 위해서 네이버 형님들께서 만드신 com.navercorp.lucy 패키지의 라이브러리를 사용하여 보았습니다. 아래 메이븐 리파지토리에서 자신의 빌드환경에 맞는 내용을 추가하여 주시면 됩니다. https://mvnrepository.com/artifact/com.navercorp.lucy 메이븐 환경에서 위 2개의 라이브러리를 추가한 모습 입니다. * 파일명 : pom.xml com.navercorp.lucy lucy-xss-servlet 2.0.1 com.navercorp.lucy .. 2021. 10. 15.
Mybatis MyBatisSystemException PersistenceException 마이바티스(Mybatis)를 사용하다 보면 가끔 만나는 오류 입니다. 오류 메시지는 아래와 같습니다. Java.lang.NumberFormatException: For input string: "값" Java.lang.NumberFormatException: For input string: "Y" ... 마이바티스(Mybatis)에서 문자열을 가지고 비교를 하는 데 숫자(Number)와 관련된 오류가 발생 한다는 내용입니다. 해당 원인은 OGNL(Object Graph Navigation Language) 의 문제로 알려져 있습니다. 1개의 데이터가 홑따옴표와 함께 표현되어 있으면 해당 데이터를 char 형태로 인식을 합니다. 아래와 같은 경우를 의미 합니다. SELECT * FROM TEST WHERE.. 2021. 9. 8.
전자정부(이클립스) 톰캣 10 구동(Eclipse run tomcat 10) 전자정부에서 톰캣 10을 추가한 뒤 구동하는 방법 입니다. 톰캣(tomcat)을 추가하려면 일반적으로 window - preferences - server탭에서 새로운 서버를 추가하여 줍니다. 그런데 전자정부 버전에 의해서 아래와 같은 모습으로 톰캣10을 선택할 수 없는 상황을 만나게 됩니다. * 전자정부 3.10버전에서는 톰캣 10버전을 선택 할 수 있습니다(from pentode님) 이렇게 되는 경우에는 Help - Eclipse Marketplace를 선택하여 Eclipse Tomcat을 검색하여 줍니다. Find 옆에 "Eclipse Tomcat" 를 누른뒤 찾으면 가장 먼저 나오는 고양이 모양이 보이게 됩니다. 그리고 난 뒤에 라이센스 관련된 내용에 동의를 하고 설치를 진행합니다. 설치가 다 되.. 2021. 8. 4.