0119 개발일지

Yesol Lee·2022년 1월 20일
0

개발일지 - 2022

목록 보기
13/187

오늘 한 일

게시판

1. 업데이트, 삭제 등 재호출 에러 해결

이번에 삭제를 하면서 삭제가 2번 호출되는 문제가 있다는 것을 알게 되었는데, 알고보니 업데이트도 2번 호출되고 있었다. 문제의 원인은 리다이렉트를 사용해야 할 곳에 포워드를 사용한 것이었다. 컨트롤러에서 할 일을 마치고 다른 주소로 이동할 때 redirect와 forward의 차이점을 모르고 혼용해서 썼는데 이 기회에 알아보게 되었다.

프로젝트 오류 정리

목표 기능

출장 정보 삭제 시 controller의 deleteBt.do로 이동한 후 로직을 수행하고 forward:selectBtList.do를 사용해 출장목록 페이지로 이동.

문제

출장 정보 삭제 기능이 전부 수행되고 출장 목록 페이지로 이동한 후 다시 controller의 deleteBt.do가 호출됨. 삭제해야 할 대상 정보가 없으니 java.lang.Nullpointer에러 발생. 목록 페이지의 url도 delete.do로 바뀌어 있음.

원인

정보 생성, 수정, 삭제 후엔 redirect를 이용해 페이지를 이동해야 하는데 forward를 사용함. redirect는 하나의 주소에서 다른 주소값으로 이동시켜 주는 것이고, forward는 기존 주소값에서 다른 주소값의 기능을 사용할 수 있게 해주는 것으로 이해함. forward를 사용하면 기존 delete.do의 주소를 그대로 사용하면서 출장 목록 페이지를 호출하려고 하기 때문에 다시 삭제 기능이 호출되어 문제가 발생하는 것으로 보임

해결

생성, 수정, 삭제 로직 안의 forward를 전부 redirect로 바꾸어 주니 문제가 해결됨

정보처리기사

데이터베이스 개념 관련 학습

profile
문서화를 좋아하는 개발자

0개의 댓글