[트러블슈팅]HTTP 상태 500 - 내부 서버 오류

ss5Jng·2022년 7월 18일
0

Troubleshooting

목록 보기
2/3
post-thumbnail

⛔문제발생

paperForm에서 정답(radio)을 체크하지 않고 paperAction에 값을 넘겼을 때, 다음과 같은 오류가 발생함.

❗오류이유

String q1 = request.getParameter("q1");
String q2 = request.getParameter("q2");
String q3 = request.getParameter("q3");
String q4 = request.getParameter("q4");
String q5 = request.getParameter("q5");
String q6 = request.getParameter("q6");
String q7 = request.getParameter("q7");
String q8 = request.getParameter("q8");
String q9 = request.getParameter("q9");
String q10 = request.getParameter("q10");

String[] q = { q1, q2, q3, q4, q5, q6, q7, q8, q9, q10 };

정답을 체크하지 않았을 경우, 위의 q 배열에 들어오는 값이 전부 null값인데 null값을 처리할 구문을 작성하지 않았음.

🔨해결방안

if(q[i] == null) {
		q[i] = "";
	}

다음과 같은 코드를 배점을 주는 코드 전에 추가.
배열[i]값이 null인 경우에는 q[i]에 ""을 대입함.

그렇다면, null과 "" 차이는 무엇이기에 이런 오류가 발생한 것일까?
null은 어떠한 값으로도 초기화가 되어있지 아니한 상태.
""은 하나의 String값으로 생각하면 됨.
즉, null은 메모리에 어떠한 값도 할당되지 않은 반면에 ""은 메모리에 공백을 할당해놓은 것이다.

profile
백엔드 개발자입니다:)

0개의 댓글