Programming/SpringBoot

회사에서 프로젝트를 진행하던 중 계속 DTO에서 NPE가 발생한다고 로그에 기록되었습니다. 아래 코드는 메시지를 발송할 때 필요한 메서드입니다. 하지만 메시지를 발송하지 않는 경우에도 자꾸 이 메서드가 호출되어서 오류가 발생했습니다. 디버깅 결과 @ResponseBody와 연관이 있다는 것을 발견하고 모르던 부분이 있어서 글로 정리하게 되었습니다. public String getAgencyInfo() { try { return this.agencyResDto.getAgencyName() + " / " + this.agencyResDto.getRepresentTel(); } catch (Exception e) { log.warn("[LectureResDto.getAgencyInfo()] ERROR :: "..
프론트엔드와 백엔드가 따로 분리가 되어 있지 않은 프로젝트에서 자주 사용하는 Model과 ModelMap의 차이점에 대해 알아보겠습니다. Model VS ModelMap 공통점 데이터 전송 : 모두 컨트롤러에서 뷰로 전달되어야 하는 속성을 보유하는 컨테이너 역할을 합니다. 속성 추가 : addAttribute와 같은 메소드를 사용하여 뷰에 표시할 속성을 추가할 수 있습니다. 범위 : Model 혹은 ModelMap에 추가된 속성은 현재 요청 수명 주기에만 사용할 수 있습니다. 차이점 Model은 Spring에서 제공하는 인터페이스입니다. ModelMap은 Model의 구현체이며, LinkedHashMap을 상속받고 있어 추가 기능을 사용할 수 있습니다. 단순히 이런 차이점밖에 없으므로 취향에 따라, 혹은..
이번 글에서는 JSP에서의 예외 처리에 대해 글을 작성해보려고 합니다. 아마 대부분의 사람들은 SpringBoot + Thymeleaf의 조합 혹은 프론트 프레임워크와의 조합으로 개발을 하여 JSP를 잘 사용하지 않을 것이라고 생각합니다. 하지만 아직 많은 레거시들은 JSP를 사용하고 있습니다. 사내 CMS도 레거시 Spring + JSP의 조합을 사용하고 있습니다. 저희 CMS는 JSP가 이미 만들어져 있는 것이 아닌, 각 페이지별로 문자열을 조합해 JSP를 만들고 있습니다. 그렇기 때문에 Controller에서 Model을 사용하는데 제한이 많아 JSP에 많은 자바 코드가 적혀있습니다. 이럴 때 로그인 처리 혹은 여러 가지 예외 상황을 어떻게 처리하는지에 대해 공부해보려고 합니다. 시나리오 Contr..
포테이토웅
'Programming/SpringBoot' 카테고리의 글 목록 (3 Page)