inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

spring mvc 시작하기 부분에서 오류 질문이요..!

7882

maui2005

작성한 질문수 8

0

SpringMVC - v1,v2 를 수행할때

코드를 오타없이 정확히 입력했는데도(혹시 몰라서 교재 복붙까지했습니다) 맨 아래 사진과 같은 에러가 뜹니다.

다른 FrontController - v1,v2,v3,v4,v5.... 들은 여전히 잘 작동하구요

제가 어떤걸 잘못했을까요??

코드를 보면 클래스명이 회색으로 뜨긴하는데..... 왜 안되는지 이유를 모르겠습니다ㅠ



+) 이게 정확한 오류 메시지인지는 모르겠으나 혹시 몰라서 이건가 싶어 남깁니다..!

2021-08-19 23:45:36.747 ERROR 14332 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Circular view path [new-form]: would dispatch back to the current handler URL [/springmvc/v2/members/new-form] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause

package hello.servlet.web.springmvc.v2;
import hello.servlet.domain.member.Member;
import hello.servlet.domain.member.MemberRepository;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;


@Controller
@RequestMapping("/springmvc/v2/members")

public class SpringMemberControllerV2 {

private MemberRepository memberRepository = MemberRepository.getInstance();

@RequestMapping("/new-form")
public ModelAndView newForm() {
return new ModelAndView("new-form");
}

@RequestMapping("/save")
public ModelAndView save(HttpServletRequest request, HttpServletResponse
response) {
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
Member member = new Member(username, age);
memberRepository.save(member);
ModelAndView mav = new ModelAndView("save-result");
mav.addObject("member", member);
return mav;
}

@RequestMapping //List
public ModelAndView members() {
List<Member> members = memberRepository.findAll();
ModelAndView mav = new ModelAndView("members");
mav.addObject("members", members);
return mav;
}
}

spring MVC

답변 1

0

OMG

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

javax.servlet.ServletException: Circular view path [project]: would dispatch back to the current handler URL [/project] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.) 에.. :: Carry On Progamming (tistory.com)

위 링크와 강의를 참고하여 application.properties에 prefix, suffix를 추가해주세요.

/ (슬래시) 를 반드시 강의와 맞춰주세요.(강의 기준으로)

그래도 안될 경우 자주하는 질문을 참고하여 구글드라이브로 프로젝트 압축 후 링크 공유해주세요.

감사합니다. 

0

maui2005

해결되었습니다! 그런데 질문이 있습니다

강의 그대로 따라갔었는데 왜 저만 에러가 나는 것이고 정확한 이유가 무엇인가요??

다른 FrontController - v1,v2,v3,v4,v5.... 들은 여전히 잘 작동하는데 SpringMVC 만 잘 작동하지 않았던 이유는 무엇인가요??

참고해주신 링크를 봐도 이해가 가지 않아서 댓글로 재질문드립니다! 감사합니다:)

0

OMG

원인까지는 모르겠으나

이런 코드로 인해 발생합니다.

어떻게 해결하셨는지(해결되었는지) 모르겠지만 해결이 되었다면 그 과정속에 힌트가 있지 않을까 생각합니다.

https://github.com/spring-projects/spring-framework/blob/main/spring-webmvc/src/main/java/org/springframework/web/servlet/view/InternalResourceView.java

안쪽 if 조건을 보면 path가 "/"로 시작할 때 uri가 path와 같을 때 서블릿예외가 발생하는 것을 확인할 수 있습니다.

더 궁금한 사항이 있으시다면 내용을 정리하여 새로 글 작성해주세요. 추가 질문에 대한 것은 저만 확인이 가능하기 때문에 영한님이나 서포터즈분들이 볼 수 있게 글을 새로 작성해주시면 감사하겠습니다. 글을 올리실 때 이 글에 대한 링크를 첨부하셔도 좋을 것 같습니다.

감사합니다.

0

OMG

다른 FrontController - v1,v2,v3,v4,v5.... 들은 여전히 잘 작동하는데 SpringMVC 만 잘 작동하지 않았던 이유는 무엇인가요??

이 부분에 대한 답변은 위 링크에서 프로젝트 구조를 보시면 아시겠지만 해당 에러가 스프링mvc에서 발생(구현한)하는 에러이기 때문입니다.

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

29

1

servlet과 container에 대한 질문입니다

0

54

1

api를 어느 컨트롤러에 작성해야하는지는 어떤 기준으로 해야하나요?

0

84

1

jsp 의존성 수정 요청

0

123

2

요즘 웹 서버가 주로 사용되는 이유는 SPA 구조 때문일까요 ?

0

158

1

save() 메서드 문의

0

77

1

절대 경로로 templates/basic 하위 파일 열면 css 적용 안되는 현상

0

114

1

request-body-json

0

94

2

MVC 패턴의 적용 단위

0

103

1

RequestMapping을 이용한 핸들러, 어댑터

0

124

2

save 후 결과화면

0

101

2

jsp를 이용한 view

0

102

1

application.properties에 debug 추가해도 결과가 똑같습니다.

0

189

1

수업 코드 제공 관련 문의

0

106

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

109

3

파일 오픈 시

0

75

1

스프링 배치 관련

0

81

1

@RequestParam의 defaultValue가 blank 값도 처리하는 지 여부

0

115

1

postman으로 /request-body-json-v1 호출시 500 error

0

106

1

프론트엔드와 백엔드의 mvc, rest api에 대한 질문

0

90

1

모델의 역할과 계층 분리에 대한 이해 차이 + 추가질문

0

119

1

console log 출력 관련 질문입니다.

0

79

1

애플리케이션이 실행 되지 않습니다 ㅠㅠㅠ

0

146

1

html 변경하는 부분 적용 문제

0

108

1