inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

섹션 3. 서블릿, JSP, MVC 패턴 질문 3

해결된 질문

151

권정익

작성한 질문수 60

0

@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);
    }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<!-- 상대경로 사용, [현재 URL이 속한 계층 경로 + /save] -->
<form action="save" method="post">
 username: <input type="text" name="username" />
 age: <input type="text" name="age" />
 <button type="submit">전송</button>
</form>
</body>
</html>

 

강의 따라가면서 했는데 선생님께서는 페이지 오류없이 잘 돌아가는데 제가 했을 때는 404오류가 뜹니다...

그리고 localhost:8080에 들어가거나, 서블릿 MVC 회원가입을 눌러도 인텔리제이 콘솔창에는 아무것도 뜨지 않습니다..

해결방안 주실 수 있나요ㅠㅠ

spring mvc

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 권정익님.

404 오류는 대게 요청한 리소스가 서버에서 찾을 수 없을 때 발생합니다. 서블릿을 통한 MVC 구조에서는 주로 서블릿 매핑 오류, JSP 파일 경로 오류 등으로 인해 발생할 수 있습니다. 질문하신 내용을 바탕으로 몇 가지 확인할 사항을 안내드립니다.

  1. 서블릿 매핑 확인: @WebServlet 어노테이션에서 정의된 URL 패턴이 요청 URL과 일치하는지 확인해주세요. 주소창에 입력하는 URL이 @WebServlet 어노테이션의 urlPatterns 속성과 정확히 일치하는지 확인이 필요합니다.

  2. JSP 파일 경로 확인: RequestDispatcher를 사용하여 forward하는 JSP 파일의 경로가 올바른지 확인해보세요. 파일 경로가 정확하지 않으면, 서버가 해당 파일을 찾지 못해 404 Not Found 오류를 반환할 수 있습니다. 특히, "/WEB-INF/views/new-form.jsp" 경로가 프로젝트 내에서 정확한 위치에 있는지 확인해보세요.

  3. 서버 재시작 및 URL 재확인: 변경 사항을 적용한 후에는 서버를 재시작해야 변경 사항이 제대로 적용됩니다. 서버를 재시작한 후, 정확한 URL을 사용했는지 다시 확인해주세요.

  4. IDE와 서버 로그 확인: IntelliJ IDEA와 같은 개발 도구를 사용 중이라면, 서버 로그를 확인하여 추가적인 에러 메시지가 있는지 확인합니다. 이를 통해 문제의 원인을 좀 더 구체적으로 파악할 수 있습니다.

이와 관련하여 비슷한 문제로 질문하고 답변받은 사례를 참고하는 것도 도움이 될 수 있습니다. 아래는 유사한 문제를 경험한 다른 학습자들의 질문과 그에 대한 답변 링크입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

권정익

프로젝트 실행에 계속 오류가 떠서 아예 삭제했다 다시 만들었는데

@ServletComponentScan이 누락되있었습니다ㅠㅠ

감사합니다!

servlet과 container에 대한 질문입니다

0

21

1

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

0

62

1

jsp 의존성 수정 요청

0

75

2

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

0

142

1

save() 메서드 문의

0

65

1

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

0

99

1

request-body-json

0

83

2

MVC 패턴의 적용 단위

0

94

1

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

0

118

2

save 후 결과화면

0

86

2

jsp를 이용한 view

0

97

1

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

0

175

1

수업 코드 제공 관련 문의

0

97

2

RequestMappingHandlerAdapter의 Controller 호출 과정

0

98

3

파일 오픈 시

0

68

1

스프링 배치 관련

0

77

1

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

0

112

1

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

0

94

1

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

0

77

1

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

0

111

1

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

0

73

1

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

0

138

1

html 변경하는 부분 적용 문제

0

100

1

한글 깨짐

0

76

2