인프런 커뮤니티 질문&답변

sdh5518님의 프로필 이미지

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

Model 추가 - v3

NumberFormatException

작성

·

1.6K

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
public class MemberSaveControllerV3 implements ControllerV3 { private MemberRepository memberRepository = MemberRepository.getInstance(); @Override public ModelView process(Map<String, String> paramMap) { String username = paramMap.get("username"); int age = Integer.parseInt(paramMap.get("age")); Member member = new Member(username, age); memberRepository.save(member); ModelView mv = new ModelView("save-result"); mv.getModel().put("member", member); return mv; } }

이 코드에서 자꾸 run을 하고 new-form에서 작성하게 될 시

http://localhost:8080/front-controller/v3/members/save 이 경로에서

 

스크린샷 2023-03-21 023937.png이런식으로 뜨게 되는 데 로그에서 어떤 오류가 발생했는 지 확인해본 결과

username=son&age=26]

2023-03-21T02:35:34.035+09:00 ERROR 16792 --- [nio-8080-exec-1] a.c.c.C.[.[.[.[frontControllerServletV3] : Servlet.service() for servlet [frontControllerServletV3] in context with path [] threw exception

java.lang.NumberFormatException: Cannot parse null string

이런식으로 에러가 난 겁니다. int age = Integer.parseInt(paramMap.get("age"));이 코드떔에 에러 난건데

강의 듣고 라이브코딩한거라 어떤 부분에서 잘못된건지 모르겠네요... 알려주시면 감사하겠습니다.

답변 2

1

저도그러네요..

0

안녕하세요, sdh5518 님! 공식 서포터즈 codesweaver 입니다.

올려 주신 내용으로만 보면 age 값으로 숫자만 넣으셔야 하는데 특수문자 ']' 가 포함되어 있어

이를 숫자로 변환하는 과정중 발생한 오류입니다.

폼 값에서 나이를 입력하실 때 특수문자를 빼고 다시 시도해주시기 바랍니다.

감사합니다.

저도 V3할때만 자동으로 들어가요 이유를 모르겠어요

그런데 다른 코드 돌려도 결과창에 뜬금없이 '[' 들어가요

코드 내용을 압축하시어 구글드라이브에 공유해주시겠어요?

코드 전체를 한 번 봐야할 것 같습니다.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

감사합니다.

sdh5518님의 프로필 이미지

작성한 질문수

질문하기