• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

섹션2-2. Hello 서블릿 진행 중 WhiteLabel 에러 관련 질문입니다.

24.04.15 23:50 작성 24.04.15 23:53 수정 조회수 67

1

섹션 2-2. Hello 서블릿 강의 진행중에 /hello 접근 시 WhiteLabel 에러가 발생합니다.

업데이트된 매뉴얼에 따라 현재 Build and Run 항목은 모두 Gradle으로 설정되어 있으며, 자바 21, 17 버전 모두 같은 문제가 발생하고 있습니다.

@ServletComponentScan //서블릿 자동 등록
@SpringBootApplication
public class ServletApplication {

	public static void main(String[] args) {
		SpringApplication.run(ServletApplication.class, args);
	}

}
@WebServlet(name = "helloServlet", urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        System.out.println("HelloServlet.service");
    }
}

같은 문제 관련하여 질문 글들 확인 및 시도해봤습니다만 해결이 되지 않았습니다.
콘솔창에도 아무것도 출력되지 않네요.
답변주시면 감사하겠습니다!

답변 2

·

답변을 작성해보세요.

2

OMG님의 프로필

OMG

2024.04.15

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

 

프로젝트 코드를 확인해봐야 알 것 같습니다.

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

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

https://bit.ly/3fX6ygx


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


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

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

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


링크: 공식 서포터즈

링크: 자주하는 질문

감사합니다.

7591님의 프로필

7591

질문자

2024.04.15

https://drive.google.com/file/d/144xenAkzVS2MMrx9lzwASSD388jQv3zI/view?usp=sharing
링크입니다. 앞서 설명드린 대로 /hello 접속 시에 WhiteLabel Error 페이지가 뜹니다.
감사합니다 :)

OMG님의 프로필

OMG

2024.04.16

프로젝트 코드 확인해보았습니다.

HelloServlet 클래스의 패키지 위치가

hello.servlet.basic.HelloServlet이 아닌,

hello.basic.HelloServlet이네요 😀

basic 패키지의 위치를 servlet 안으로 강의와 동일하게 옮겨주세요 ^^

 

참고)

수정 전

image수정 후

image

7591님의 프로필

7591

질문자

2024.04.16

너무 기초적인 부분에서 실수해놓고 이상한 곳에서 답을 찾고 있었네요... 감사합니다 😅

OMG님의 프로필

OMG

2024.04.16

강의 수강 중 발생하는 오류상황이나 강의 관련 궁금한 사항은 언제든 질문 남겨주세요 😀

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.15

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

질문자님께서 말씀하신 /hello 접근 시 WhiteLabel 에러는 스프링 부트 애플리케이션에서 일반적인 에러 페이지를 대체하는 기본 에러 페이지를 나타냅니다. 이는 일반적으로 요청한 경로에 대한 핸들러가 찾을 수 없거나, 서블릿 매핑 등 초기 설정이 올바르게 이루어지지 않았을 때 발생합니다.

질문하신 내용과 유사한 상황을 다룬 기존 질문을 기반으로 몇 가지 시도해볼 수 있는 해결책을 제안드리고자 합니다.

  1. @ServletComponentScan 어노테이션 사용 여부 확인: @ServletComponentScan 어노테이션이 적절한 위치에 있어야 합니다. 이 어노테이션이 있는 Spring Boot Application 클래스가 서블릿 컴포넌트를 자동으로 탐색하여 등록하게 됩니다. 공유해주신 코드에서는 이미 적용되어 있으므로 이 부분은 문제가 없어 보입니다.

  2. JDK 버전 문제: 일부 JDK 버전에서 호환성 문제로 인해 WhiteLabel 에러가 발생할 수 있습니다. 대체적으로 JDK 11은 Spring Boot와의 호환성이 좋으므로 JDK 버전을 11로 맞춰서 시도해보시는 것을 추천드립니다. 해당 내용은 localhost:8080/hello시 whitelabel error 발생 질문에서도 언급되었습니다.

  3. Build and Run 설정: Gradle 대신 IntelliJ IDEA로 직접 실행 설정을 변경해 보시는 것을 권장드립니다. 프로젝트 설정에서 Build and Run을 IntelliJ로 변경해 실행해보시는 것이 좋습니다. 이는 localhost:8080/hello white label 질문에 나온 해결책 중 하나입니다.

위의 조치들 외에도, IDE의 콘솔 출력이 없는 경우는 일반적으로 애플리케이션이 정상적으로 시작되지 않았을 때 발생합니다. 애플리케이션의 콘솔 로그를 자세히 확인하여 초기화 과정 중에 오류 메시지나 경고가 없는지 확인하시기 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.