인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

박준형님의 프로필 이미지
박준형

작성한 질문수

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

MVC 패턴 - 적용

mvc패턴하니깐 잘 안됩니다.

해결된 질문

작성

·

603

0

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

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

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

[질문 내용]
강의와 똑같이 했는데 초반부인 MvcMemberFormServlet부분을 mvc 패턴으로 적용하는 부분이 안됩니다! 저부분 부터 원래 잘 되던 부분들이 servlet으로 등록하기 부분이 다 안되는거 같습니다 구글 폼 올리겠습니다 ! https://drive.google.com/file/d/1yNGsRvNW9nmSlXDdaW5qt0HJfc4W8qQT/view?usp=sharing

답변 1

0

안녕하세요. 박준형님, 공식 서포터즈 y2gcoder입니다.

보내주신 코드 살펴봤습니다!

/servlet-mvc/members/new-form 이 되지 않았던 이유는 new-form.jsp 의 위치가 달랐기 때문입니다.

@WebServlet(name = "mvcMemberFormServlet", urlPatterns = "/servlet-mvc/members/new-form")
public class MvcMemberFormServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String viewPath = "/WEB-INF/views/new-form.jsp";
        RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath);
        dispatcher.forward(request, response);
    }
}

작성하신 MvcMemberFormServlet의 viewPath를 보시면 "/WEB-INF/views/new-form.jsp"; 입니다.

그런데 실제로 new-form.jsp는 webapp/WEB-INF/ 에 바로 있었습니다. WEB-INF 밑에 views 폴더를 만들고 그 안에 new-form.jsp를 넣고 다시 시도해주십시오!

 

감사합니다.

박준형님의 프로필 이미지
박준형
질문자

감사합니다 해결방법으로 다시 하니 잘 되네요

그런데 image원래 잘되던 서블릿 회원가입도 갑자기 안되는데 왜 그럴까요? 서블릿MVC만들기 전엔 잘 됐었습니다

거기는 MemberFormServlet의 @WebServlet 속성 중 urlPatterns 에 오타를 확인해주십시오!

박준형님의 프로필 이미지
박준형
질문자

urlPatterns = "/servelt/members/new-form"

http://localhost:8080/servlet/members/new-form

문제 되는 곳이 없습니다 !

servelt -> servlet 으로 바꿔주시고 테스트해주십쇼!

박준형님의 프로필 이미지
박준형

작성한 질문수

질문하기