getParameter() 메서드는 아래와 같이 동작한다.
- request.getParameter()
- HTTP 요청의 매개변수 값 반환
- 해당 매개변수가 없을 경우 null 반환
해당 매개변수가 없을 경우 null을 반환하기 때문에
if (id == null)로 데이터를 검증했다. 하지만 로직 에러가 발생하였고, id 값을 출력해봤다.
당당하게 null이라고 나와서 잠시 혼란스러웠지만 디버깅에서 바로 원인을 알 수 있었다.
String id = request.getParameter("id"); 에서 만일 id가 존재하지 않으면
null이 아니라 스트링 "null"이 할당된 것이다.
???
안전하게 다음과 같이 데이터를 검증하도록하자.
if (id == null || "null".equals(id))
'Java' 카테고리의 다른 글
[JSP] 쿠키와 세션의 차이에 대해서 / 쿠키=웹 브라우저의 소유 / 세션=서버 와 웹브라우저 둘다 소유 (0) | 2023.01.24 |
---|---|
[JSP] forward 와 sendRedirect의 차이 (3) | 2023.01.24 |
[JSP] Rest API에 대해서 간략하게 (0) | 2023.01.19 |
[Java] 클래스, 메서드, 변수에 대한 Naming Rulue (0) | 2023.01.19 |
[JSP] Filter를 활용한 request.setCharterEncoding("utf-8") (0) | 2022.11.28 |
댓글