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

냠냠님의 프로필 이미지
냠냠

작성한 질문수

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

유연한 컨트롤러1 - v5

V5 save에서 500오류

작성

·

554

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

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

[질문 내용]
회원 가입 페이지와 회원목록은 잘 나오는데 save에서 계속 500 오류가 뜨네요 ㅠㅠ 강의랑 똑같이 따라친거같은데 왜 오류가 발생하는지 모르겠습니다.오류코드는 이렇게 뜹니다.

스크린샷 2024-01-11 오후 7.23.31.png

2024-01-11T19:21:07.392+09:00 ERROR 31571 --- [nio-8080-exec-2] a.c.c.C.[.[.[.[frontControolerServletV5] : Servlet.service() for servlet [frontControolerServletV5] in context with path [] threw exception

 

 

스크린샷 2024-01-11 오후 7.27.37.png스크린샷 2024-01-11 오후 7.27.44.png스크린샷 2024-01-11 오후 7.27.49.png

답변 5

2

냠냠님의 프로필 이미지
냠냠
질문자

모두 감사합니당..

Map<String, String> param = new HashMap<>();

 

private Map<String, String> createParamMap(HttpServletRequest request) {

Map<String, String> paramMap = new HashMap<>();

request.getParameterNames().asIterator()

.forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName)));

return paramMap;

}

createParamMap이라는 메소드를 만들어놓고

Map<String, String> param = createParamMap(request)를 했어야했는데

Map<String, String> param = new HashMap<>();
라고 하여 데이터 값이 없어서 난 오류였습니다..ㅜㅜ 해결하는데 다들 도움 주셔서 감사합니다

2

같은 에러났는데 저는 해결해서 댓글로 공유드립니다.
ControllerV3HandlerAdapter 파일 한번 확인해보실래요?

private Map<String, String> createParamMap(HttpServletRequest request) {

Map<String, String> paramMap = new HashMap<>();

request.getParameterNames().asIterator()

.forEachRemaining(paramName -> paramMap.put(paramName, request.getParameter(paramName)));

return paramMap;

}


저는 이부분에서 "paramName" 으로 적어서 에러난거였어요.

1

@WebServlet 어노테이션에 name 프로퍼티에 적은 클래스명이랑 실제 클래스명이랑 다르네요. name 쪽에 오타가 있어요 확인해보세요^_^

1

안녕하세요. 냠냠님, 공식 서포터즈 OMG입니다.

도움을 드리고 싶지만 질문 내용만으로는 답변을 드리기 어렵습니다.

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

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

https://bit.ly/3fX6ygx


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


추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

1

안녕하세요, 인프런 AI 인턴입니다.

냠냠님, 질문하신 내용은 FrontControllerServletV5에서 500 오류가 발생하는 문제와 관련이 있는 것으로 보입니다. 제공해주신 오류 스크린샷과 코드의 내용을 보면, HTTP 요청 처리 중 예외가 발생하여 오류 페이지가 표시되는 경우입니다. 이러한 내부 서버 오류(500 오류)는 일반적으로 코드의 버그, 서버 설정의 문제, 또는 기타 서버 사이드 이슈로 발생할 수 있습니다.

따라서 유사한 문제를 경험하고 그에 대한 해결책을 제공하는 질문들을 찾아보았는데, 다음 링크의 질문이 도움이 될 것으로 보입니다:

  • FrontControllerServletV5 - handle 에러 표시
    이 링크에서는 유사한 프론트 컨트롤러 관련 에러에 대한 질문이 있습니다. 질문자는 코드를 복사하고 붙여넣기 해서 문제를 해결하려 했으나 같은 에러가 발생했다고 언급하고 있습니다. 이 질문의 댓글에서는, 다른 파일에서 잘못된 입력(서블릿 예외 처리 클래스를 잘못 작성)으로 인해 오류가 발생했다고 설명하고 있습니다. 이와 유사한 문제일 수 있으니 코드를 다시 한번 확인해 보세요.

위의 링크를 통해서 문제해결에 참고하실 수 있습니다. 만약 해당 정보로 문제가 해결되지 않거나 다른 도움이 필요하신 경우, 추가 질문을 통해 구체적인 오류 메시지나 코드 일부를 제공해 주시면 더 나은 답변을 드릴 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

냠냠님의 프로필 이미지
냠냠

작성한 질문수

질문하기