java.lang.NullPointerException 오류는 코드를 짜면서 가장 많이볼 수 있는 오류가 아닐까 생각한다.
이 오류는 사람마다 다 다른 이유로 발생하는데, 원인은 코드를 짤때 철자를 틀리거나 "를 안붙이거나 했을때 나는 오류이기 때문이다. 거의 하루한 번 오류를 보는 것 같은데 모든 오류는 제일 윗줄로 올라가서 : 이 다음 부분, 그리고 as 부분에서 뒤에 apache나 javax오류 말고 내 주소의 오류만 확인하면 해결된다.
*주의* 할 점은 이 오류가 났을때 검색해봐도 본인의 상태와는 다른 오류이기때문에 정답을 찾을 수가 없고, 진짜 사소한 오타로도 오류가 나기때문에 내가 봐도 잘 모르겠다는 점인데 이럴때는 잠시 쉬었다가 다시 오타를 찾아보고.. 그래도 안된다면 새로 적은 코드들을 삭제하고 다시 적어보는 것이 많이 도움이 됐다.
>>오류 해결하기
: "java.util.List.size()" because "boardsEntity" is null
List가 비어있어서 List.size(); 문을 수행할 수 없다고 하는 오류가 발생했다. 저 줄에서 오류가 발생했는데, 수정한 부분은 빨간색으로 적은 List<Board> boardsEntity = boardDAO.findAll(page); 이 코드밖에 없었다. 문제가 없다. 다음 빨간줄으로 내려가서 (BoardController.java:49)와 (BoardController.java:31)를 확인해보는데, 이 부분은 수정한적이 없고 수정하기 전에는 실행이 잘 됐다면 문제가 없다.
빨간색 오류를 눌러서 확인이 안된다면 이제 수정한 구문들을 찾아가야한다.
내가 수정한 부분은 바로 여기 findAll 함수부분이고 오류는 sql문에서 났다. list 에 넣어야하는 컬럼중 두 개를 빼먹은 것이다.
오류에는 (ListAction.java:35)이 부분을 확인하라고 했는데 왜 다른 파일에서 오류가 났냐면 그 구문을 실행하기 전에 List에 add하는 문법에서 이미 오류가 발생했기 때문에 그 코드까지 넘어갈 수가 없기 때문이다. 내가 빼먹은 userId와 created 두 가지 때문에 while함수가 실행되지 않았고 그래서 List가 null으로 나오게 된 것이다.
>>수정한 내용
content뒤에 userId, created 두가지를 추가해서 넣어준다.
수정완료한 뒤에는 console 창을 clear해주고 정상적으로 작동되는지 다시 확인해보고 잘 수행된다면 또 오류가 발생했다면 당황하지말고 빨간색을 차근차근 읽어본 뒤에 다른부분을 또 수정해주면 정상적으로 실행될 것이다.
>> 정상실행됐을때 console 출력내용
"=========" 밑에 나오는 숫자가 null이라고 말하던 List. size(); 입니다.
'기타 > 오류해결' 카테고리의 다른 글
[CMD] netstat 명령문 안될 때 (0) | 2021.06.25 |
---|---|
[CMD] already in use 오류 해결하기 (0) | 2021.06.25 |
[VS code_React] yarn start 안될 때 (0) | 2021.06.25 |
[STS] war파일 import시 superclass 오류 해결하기 (0) | 2021.05.25 |
[JSTL] org.apache.jasper.jasperexception: 오류 해결방법 (0) | 2021.05.25 |