반응형
예외 요약
java.lang.NumberFormatException: For input string: ""
문제 요약
항목 | 내용 |
---|---|
예외 유형 | NumberFormatException |
예외 메시지 | 빈 문자열 ("")을 숫자로 변환하려고 시도 |
주 원인 | null 또는 공백 입력값을 Integer.parseInt() 등으로 처리함 |
오류 발생 조건
String value = "";
int number = Integer.parseInt(value); // 예외 발생
실무자가 자주 놓치는 포인트
Integer.parseInt("")
,Double.parseDouble("")
등은 빈 문자열을 숫자로 변환하려 할 때 오류 발생- HTML
<input>
에서 비어있는 값은""
으로 넘어오며, 유효성 검사 누락 시 예외로 이어짐 request.getParameter("amount")
와 같은 값도 공백일 수 있으니 유의해야 함
해결 방법
1. 입력값 검사
if (value != null && !value.trim().isEmpty()) {
int number = Integer.parseInt(value);
} else {
// 기본값 지정 또는 예외 처리
int number = 0;
}
2. 유틸리티 메서드 사용 예시
public static int safeParseInt(String str, int defaultValue) {
try {
return Integer.parseInt(str);
} catch (NumberFormatException e) {
return defaultValue;
}
}
3. JSTL 또는 Thymeleaf 사용 시
- 서버에서
null
또는""
인 파라미터에 대해 기본값을 먼저 처리하거나, - HTML form에서
<input type="number" value="0" />
기본값 설정 필요
결론 및 실무 팁
NumberFormatException: ""
은 실무에서 사용자 입력이 빈 값으로 넘어올 때 매우 자주 발생하는 예외입니다.
항상 숫자 변환 전에 값의 존재 여부를 확인하거나, try-catch
로 감싸는 습관이 필요합니다.
“A사는 이 문제로 매번 수동으로 passphrase 입력해야 했고, 운영팀 근무자가 상시 대기했음 → 무비밀번호 키 전환으로 무중단 운영 달성”
SSL 설정과 연관된 팁
SSL 인증서 발급은 주로 Let's Encrypt, DigiCert, GlobalSign 등에서 가능하며 CSR 생성 → 인증 요청 → 서명된 인증서 반환 순으로 이뤄집니다.
인증서 체인(CA-bundle)은 루트 인증서 → 중간 인증서 → 서버 인증서 구조로 연결되며, 체인이 완전하지 않으면 신뢰되지 않을 수 있습니다.
Apache의
mod_ssl
환경에서 문제 발생 시, 다음과 같이 로그 레벨을 설정해 원인 파악에 도움을 받을 수 있습니다:LogLevel ssl:debug
반응형
'Application Servers & Java' 카테고리의 다른 글
XML 설정 오류로 인한 JBoss 부팅 실패 원인과 해결법 (WFLYCTL 오류 포함) (0) | 2025.05.26 |
---|---|
경고 메시지 분석 및 해결 방법 | Apache SSL 오류 AH02580 · mod_ssl 오류 해결 · SSL Passphrase incorrect 해결 방법 (0) | 2025.05.26 |
MyBatis selectOne() - TooManyResultsException (1) | 2025.05.23 |
SSLHandshakeException – 원격 서버가 SSL 핸드셰이크를 종료함 (0) | 2025.05.23 |
JSONParser 오류 해결 가이드 – Unexpected character (<) at position 0 원인과 실전 대응법 (0) | 2025.05.23 |