강의

멘토링

로드맵

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

sdh5518님의 프로필 이미지
sdh5518

작성한 질문수

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

Model 추가 - v3

NumberFormatException

작성

·

1.7K

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님의 프로필 이미지
sdh5518

작성한 질문수

질문하기