728x90

[ Error ] 11

[ Java ] OutOfMemoryError(With 힙덤프) 에러 분석해보기

안녕하세요🤚 오늘은 실무에서 프로젝트 진행 중 Heapdumponoutofmemoryerror 가 발생해서해당 에러의 개념과 실전 예제 코드를 통해서 알아보겠습니다 😄    Heapdumponoutofmemoryerror 옵션은 Java 애플리케이션이 메모리 부족(OutOfMemoryError)오류가 발생했을 때 발생합니다. Java는 개체를 Heap(힙) 공간에 생성하고이 생성 위치에 대한 주소를 가지고 Object Reference(개체 참조)하는  방식으로 사용합니다. 개체를 생성하는 과정에서 Heap 공간에 개체를 할당하기 위한 공간이 부족한 경우 발생하는데,이 경우 가비지 컬렉터는 새로운 개체를 생성할 수 있는 공간을 확보할 수 없습니다. 드물게 가비지 컬렉션을 수행하는데 과도한 시간이소비되..

[ Error ]/JAVA 2024.05.29

[ Java ] IndexOutOfBoundsException 에러 해결

실무에서 프로젝트 진행 중인 과정에서  Excel 기능 개발을 하던 중IndexOutOfBoundsException : Index:0, Size: 0 에러가 발생했다.자바에서 흔히 볼 수 있는 Exception이라서 해당 에러가 발생했을 때여러 가지 변수가 있겠지만 간단히 해결하는 방법을 공유하겠습니다.  IndexOutOfBoundsException은 앞서 말씀드린 것처럼자바에서 발생하는 일반적인 예외 중 하나입니다. 보통 배열이나 유효하지 않은 인덱스에 접근하거나리스트나 다른 자료 구조에서 유효하지 않은 인덱스를 사용해서 요소에 접근 시도하거나문자열에 인덱스가 문자열의 길이를 초과하는 경우에 발생하는 Exception이라서 간단한 코드로는 파악하기 쉽지만실무 소스를 보면 절대.. 간단한 코드 같은 건..

[ Error ]/JAVA 2024.05.09

[ SQL ] IncompleteElementException

데이터 맵핑 코드를 구현하는 과정에서 IncompleteElementException 예외가 발생했다. IncompleteElementException는 MyBatis에서 발생하는 예외로, MyBatis 매핑 파일의 구성이 불완전하거나 필요한 요소가 누락된 경우에 발생합니다. 이 예외는 일반적으로 MyBatis가 구성 프로세스 중에 필요한 요소나 정의를 찾을 수 없을 때 발생합니다. IncompleteElementException 예외를 만나는 경우에는 다음과 같은 이유가 있습니다. 1. 매핑 파일 누락 또는 잘못된 매핑 파일 : 필요한 구성이 포함된 매핑 파일이 올바르게 존재하고 MyBatis 구성에서 올바르게 지정되어 있는지 확인해야 한다. 파일의 위치와 해당하는 네임스페이스(namespace)를 확..

[ Error ]/SQL 2023.06.08

[ Java ] UnsatisfiedDependencyException / NoSuchBeanDefinitionException

Spring Security 코드 작업 하던 중.. UnsatisfiedDependencyException 에러가 발생하면서 에러 내용을 확인해보니 콘솔창에 다음과 같은 내용을 전송해 줬다.. Error creating bean with name 'org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration': Unsatisfied dependency expressed through method 'setConfigurers' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creatin..

[ Error ]/JAVA 2023.06.07

[ SQL ] 업체 코드 17002 에러

팀 프로젝트 기획을 준비하던 중 오라클 DB 접속 하려고 하던 중... 이클립스에서 업체 코드 17002 에러가 발생했다. SQL에서도 동일하게 에러가 발생하는지 확인하기 위해 테이블 조회를 해보았지만 역시나 동일한 에러 발생..! 업체 코드 17002 에러 검색 결과 Oracle Listener가 실행 중이지 않아서 데이터베이스 접속이 불가능 하다는 에러 내용이었다. 그래서 찾아보니 [ 컴퓨터 관리 ] - [ 서비스 및 응용 프로그램 ] - [ 서비스 ] 에서 OracleXETNSListener 서비스를 찾아서 먼저 상태 확인을 해야한다. 서비스를 클릭해서 상세 페이지를 확인해 보면 역시나.. 서비스가 중지 상태로 있었다..ㅎ 시작을 누르고 SQL에서 다시 시작해보면 정상적으로 실행되는 걸 확인할 수 ..

[ Error ]/SQL 2023.05.11

[ Java ] java.lang.NumberFormatException: For input string: ""

장바구니 페이지 기능에 수정/삭제 기능을 추가하려고 카트 값을 Controller에 요청을 보낼 때 같이 보냈는데.. java.lang.NumberFormatException: For input string: "" 에러가 발생했다. NumberFormatException 에러는 개발 중 종종 발생하는 오류중 하나입니다. 단어를 풀어서 이야기하면 숫자 형식 오류라는 의미가 됩니다. 이런 경우는 Integer 타입으로 받으려고 할 때 주로 에러가 발생하는데, 저는 거의 view단 페이지에서 null값으로 보내줘서 주로 발생했습니다. 그로 인해 코드 작업할 때마다 log 찍어보는 게 버릇이 생겼는데, 오늘은 NumberFormatException 에서 For input string: "" 에 대해서 알아보겠습..

[ Error ]/JAVA 2023.04.29

[ TomCat ] javax.servlet.jsp.JspTagException

상품 상세 페이지 구현하던 중 javax.servlet.jsp.JspTagException 에러가 발생했다. 상세 정보로는 Don't know how to iterate over supplied "items" in 라고 알려주는데, 일반적으로는 LIst 타입이 아닌데 JSTL에서 forEach를 사용해서 발생하는 오류이다. 읽어봐도 forEach 내의 item을 어떻게 iterate를 할 수 있는지 알 수 없다고 쓰여 있으니까 말이다. 간단하게 이 문제면 해결하기 쉽습니다. 예를 들면 다음과 같은 경우 소스를 보면 forEach 내에 when을 사용하여 목록 전체를 구하는 것이 소스 코드의 의도이다. 근데 이렇게 소스를 작성하면 방금과 같은 오류가 발생합니다. 그 이유는 item을 dt..

[ Error ]/TomCat 2023.04.28

[ TomCat ] org.apache.jasper.jasperexception

메인 페이지에 상품 변수 값을 넣어주고 실행시켜 본 결과 org.apache.jasper.jasperexception 라는 에러가 발생했다. jsp로 웹 페이지를 만들다 보면 이 에러를 한 번씩은 만날 수 있다고 합니다. 상품 목록을 문으로 데이터를 웹에 띄우려고 했다가 에러 내용을 확인해 보니, 태그를 찾을 수 없다고 알려주네요. 코드 파일 경로를 전부 확인하면서 벨류 값을 수정해 보고 오타를 찾아봐도 오류 코드를 못 찾았는데. 해당 view 단 파일 태그를 보면서 코드가 잘못 구현되고 있다는 걸 확인했습니다..^^ 메인 페이지에서는 상품의 전체 목록을 가져오려고 하는데, 즉, 자바의 switch문을 조건 처리를 안 하고 사용하고 있었네요..ㅎ 메인 페이지에서는 조건을 별도로 처리할 게 없어서 해당 태..

[ Error ]/TomCat 2023.04.25

[ Java ] javax.el.PropertyNotFoundException

공지사항 페이지 구현하는 과정에서 javax.el.PropertyNotFoundException 에러가 발생했다... 위 에러는 EL 구문을 사용하는 과정에서 ${dto.name} name에 해당하는 프로퍼티를 찾지 못한 경우에 발생하는 에러입니다. EL 구문을 사용하기 위해서는 DTO를 자바빈즈 규약에 맞게 만들어야 하는데, 해당 DTO의 멤버 변수 name 값을 찾지 못해서 발생하기 때문에 경로를 찾아가서 코드를 확인해야 하는데, 이 에러는 크게 두 가지 실수로 나오는 에러라고 생각합니다. 1. 문 사용해서 멤버 변수를 가져올 때 변수 스펠링 (대문자/소문자) 확인 2. DTO에 해당 변수의 유/무 체크 저는 해당 멤버 변수를 생성하지 않고 요청을 보냈기 때문에 에러가 발생했습니다..^^ 프로젝트 기..

[ Error ]/JAVA 2023.04.23

[ SQL ] java.sql.SQLSyntaxErrorException

유저 페이지 기능을 하나씩 추가하면서 회원가입 기능을 점검하던 중... SQLSyntaxErrorException 예외가 발생했다. 에러 내용을 확인해 보면 too many values 라고 나오는데 컬럼 수보다 값을 더 추가해서 넣어서 예외가 발생했다고 합니다. 경로를 찾아가서 코드를 확인한 결과 SQL문이 잘못된 걸 확인할 수 있었다. 맨 처음 회원가입 코드를 구현하던 중, 회원 가입일, 수정일을 SQL에서 Defalut sysdate로 지정했는데... 코드에는 벨류 값으로 들어오지 않는데, insert를 시킨 것이다.. 다행히 sysdate 두 개를 삭제하고 다시 실행해보니 에러가 사라졌다. SQLSyntaxErrorException 예외에는 too many values 에러 말고도 ORA-0094..

[ Error ]/SQL 2023.04.21
728x90