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

Jaesang Yoon님의 프로필 이미지

작성한 질문수

스프링 부트 - 핵심 원리와 활용

서블릿 컨테이너 초기화2

강의를 따라했는데 매핑 정보가 등록되지 않은 것 같습니다.

24.07.20 01:38 작성

·

110

1

public interface AppInit {
    void onStartup(ServletContext servletContext);
}

/**
 * 서블릿 컨테이너 모방
 * 프로그래밍 방식을 서블릿 컨테이너에 등록
 */
public class AppInitV1Servlet implements AppInit {
    @Override
    public void onStartup(ServletContext servletContext) {
        System.out.println("AppInitV1Servlet.onStartup");

        // 순수 서블릿 코드 등록
        ServletRegistration.Dynamic helloServlet = servletContext.addServlet("helloServlet", new HelloServlet());
        helloServlet.addMapping("/hello-servlet");
    }
}


/**
 * 서블릿 그 자체
 * 애플리케이션 초기화
 */
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("HelloServlet.service");
        resp.getWriter().println("hello servlet!");
    }
}
hello.container.MyContainerInitV1
hello.container.MyContainerInitV2

이런식으로 강의를 따라 서블릿에 매핑 정보를 등록했는데, http://localhost:8080/hello-servlet을 하게 되면 404 에러가 발생합니다. 어디서 문제가 생긴걸까요?

답변 1

1

David님의 프로필 이미지

2024. 07. 20. 01:56

안녕하세요. Jaesang Yoon님, 공식 서포터즈 David입니다.

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

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

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

https://bit.ly/3fX6ygx


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


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

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

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


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

Jaesang Yoon님의 프로필 이미지
Jaesang Yoon
질문자

2024. 07. 20. 13:04

David님의 프로필 이미지

2024. 07. 21. 21:10

안녕하세요. Jaesang Yoon님, 공식 서포터즈 David입니다.

올려주신 프로젝트를 실행했을 때 정상적으로 동작함을 확인했습니다.

빌드가 정상적으로 되었는지 확인해 주세요:)

image

감사합니다.