japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

 
jsp 에러잡기
조회 : 3,246  



jsp 디버깅(벌레 잡기)

kenu
2001-04-26 10:47오후


속보, NullPointerException 출현!


설레는 마음으로 jsp 코드를 힘겹게 위치시킨 후에 브라우저에서 확인했을 때... NullPointerException 이라니.... 하지만 여기서 얻을 수 있는 정보가 있습니다. 10줄 가량의 에러메시지 가운데 신경써서 볼 부분은 맨 위의 2~3줄만 보면 됩니다.


일단 파일의 이름이 nohello.jsp 라는 것을 알 수 있습니다. 위치는 / 루트에 있죠.


다음으로 에러가 발생한 라인 번호도 나옵니다. 여기에선 8이죠. 그럼 소스가 아무리 길더라도 그 라인만 찾아 가서 약을 뿌리면 벌레를 잡을 수 있다는 것입니다. 소스를 보시죠.


8번째 줄을 보시면 str 변수의 길이를 출력하도록 한 코드입니다. 물론 위에서 str 에 null 을 대입했기 때문에, null 의 길이를 묻는다면 jvm이 "michin Num" 이라는 뜻으로 NullPointerException을 보냅니다. 주로 인스턴스(변수 포함해서 conn 이나 rs, stmt 등의 sql 객체들)가 null 인 상태에서 메소드(길이를 묻거나 값을 요구하거나 등등)를 사용하면 NullPointerException 이 나오게 됩니다.


그럼 이제 str의 값에 null 대신에 "Hello" 라고 집어넣죠. 그리고 다시 불러보면 5라고 나올겁니다.


파일 두개를 만들어 보겠습니다. 입력 폼에서 집어넣은 값을 다음에 출력하는 것이죠. 만일 처음 값에 아무 것도 넣지 않으면 null 이 들어가게 됩니다. 소스를 보시죠.




브라우저에서 http://localhost/nohello.htm 을 부른 뒤에 3글자 이상을 입력하고 전송을 하면 잘 나옵니다. 하지만 반대의 경우 어떤 에러가 날까요?


이 경우 에러를 보기가 힘듭니다. 2패거리가 나오니까요. 에러메시지는 String index out of range : 3 라고 나오죠. 밑에 줄을 봐도 라인 넘버가 나오질 않습니다. 그럼 어떻할까요. 실마리는 표시해 둔 곳의 substring 에 있습니다. substring method 에서 에러가 발생되었다는 것이죠.


이런 경우 조건을 걸어주시는 것이 좋습니다. 이렇게 말이죠. 이만 강좌를 마치겠습니다. 휘리릭~


관련 사이트


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=612


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
(주) 수퍼유저

 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 웹개발언어
PHP
JSP
python
기타
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.