<Exception>

fail to execute jsp : gagaga07.jsp

(Exception) java.lang.NumberFormatException : For input string: "60504.44"

 

at java.lang.NumberFormatexception.forinputString(NumberFormatException.java:63)

at java.lang.Long.parseLong(Long.java:427)

at java.lang.Long.parseLong(Long.java:476)

at _donor._500_gagaga07_5fjsp._jspService(_500_gagaga07_5fjsp.java:80)

at jeus.servlet.jsp.HttpJspBase.service(HttpJspBase.java:54)

.......

 

 

왜 에러가 날까 하는 고민 끝에..

일단 컴파일 된 jsp의 자바 파일을 찾기로 했다.

 

1.컴파일 된 java 파일 내 에러 난 행을 찾아라.

 

위치는

 WEB-INF에서 .warjspwork에 있었는데 디폴트 폴더인지 아니면 설정하기 나름인지는

추후 알아 보기로하고!!

 

Exception 로그에서 확인한대로 "e_500_gagaga07_5fjsp.java" 파일을 열어서

vi 편집기 (라인 넘버 :set number , 63G) 63행 확인

 

 

2.원인 파악

 

구글링을 해보니,

"60504.44"

소숫점 붙어 있는 것은 parseLong으로 변환이 안되서 에러 난 것임.

 

해결책은 parseFloat 이나 parseDouble로 변환한 다음에 (캐스팅)변환 해야 함.

 

 

charAt()로 한글자씩 읽어서 그것이 숫자에 속하면 자릿수를 곱하여 전체를 더하여 나타내는

함수로 자릿수는 String길이로 알게 된다고 한다.

만약 소숫점을 읽게 되면 숫자가 아니므로 예외가 발생하도록 함수를 만들어 두었다고 한다.

 

-API에 나와 있나? 음.... 이것도 추후 어디에서 설명 되어 있는지 찾아 봐야 겠다.

 

[찾아 볼것]

1.컴파일 된 폴더 설정

WEB-INF에서 .warjspwork에 있었는데 디폴트 폴더 인지 설정 가능 및 설정확인 하는 곳.

 

2.parseLong, parseInt 에 대한 함수 설명

-API 도큐먼트에서 찾아볼것

 

[출처 : http://valley.egloos.com/viewer/?url=http://mchh621.egloos.com/175431 ]