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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

View 분리 - v2

v2 회원가입 페이지에 들어갔는데 member.jsp가 보입니다.

24.01.04 10:23 작성

·

198

0

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

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

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

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

이게 formV2이고,

package hello.servlet.web.frontcontroller.V2;

import hello.servlet.web.frontcontroller.MyView;
import hello.servlet.web.frontcontroller.V2.controller.MemberListControllerV2;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@WebServlet(name = "frontControllerServletV2", urlPatterns = "/front-controller/v2/*")
public class FrontControllerServletV2 extends HttpServlet {

    private Map<String, ControllerV2> controllerMap = new HashMap<>();

    public FrontControllerServletV2() {
        controllerMap.put("/front-controller/v2/members/new-form", new MemberListControllerV2());
        controllerMap.put("/front-controller/v2/members/save", new MemberListControllerV2());
        controllerMap.put("/front-controller/v2/members", new MemberListControllerV2());
    }

    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String requestURI = request.getRequestURI();

        ControllerV2 controller = controllerMap.get(requestURI);

        if (controller == null) {
            response.setStatus(HttpServletResponse.SC_NOT_FOUND);
            return;
        }

        MyView view = controller.process(request, response);
        view.render(request, response);
    }
}


강의에서 수정한 그대로입니다.. 3~4번 확인을 했는데도 다른부분이 없어요...

 

근데 회원가입 페이지를 들어가면

이렇게 나옵니다.. new-form인데두요..
중요한건

회원목록도 같은 양식으로 나옵니다.. 뭐가 잘못된걸까요?

답변 2

1

정재호님의 프로필 이미지

2024. 01. 05. 09:40

FrontControllerServletV2()

부분을 보시면 전부 ListController를 생성하도록 되어있네요!

0

인프런 AI 인턴님의 프로필 이미지

2024. 01. 04. 10:26

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

정재호님의 질문과 유사한 상황으로 보여지는 기존 질문이 있습니다. 예상되는 원인은 컨트롤러 매핑이 잘못되어 발생한 문제로 보입니다. 아래 링크에서 해결 방법을 확인해 보실 수 있습니다.

위 링크를 확인하시면 강의 내용과 유사한 문제에 대한 답변을 찾으실 수 있을 것입니다. 만약 이와 관련하여 추가 질문이 있으시면 해당 링크의 댓글로 남겨주세요.

감사합니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기