작성
·
122
0
plugins {
id 'java'
id 'war'
id 'org.springframework.boot' version '3.3.4'
id 'io.spring.dependency-management' version '1.1.6'
}
group = 'hello.servlet'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
tasks.named('test') {
useJUnitPlatform()
}
말씀주신대로 설정도 다했고 무료버전 아닌데 /hello로 호출할때 404에러가 뜹니다 ㅠㅠ
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 알고리즘가즈앙님께서 질문하신 문제는 Spring Boot 프로젝트에서 특정 URL로 접속할 때 404 오류가 발생하는 것입니다. 이 오류는 대개 서버가 요청한 경로에 알맞은 핸들러를 찾지 못했을 때 발생합니다. 아래에 몇 가지 확인할 사항을 안내드리겠습니다.
서블릿 매핑 확인: HelloServlet.java
파일에서 @WebServlet
어노테이션의 urlPatterns
속성을 정확히 설정했는지 확인합니다. 예를 들어, @WebServlet(urlPatterns = "/hello")
와 같이 설정해야 합니다.
포트 설정 확인: 로그에 표시된 내용을 보면 톰캣이 포트 8080에서 초기화되고 있습니다. localhost:8080
으로 엔드포인트를 접속해보시고 정확한 주소로 접속하고 있는지 확인하세요.
패키지 구조 확인: Mvc1Application
클래스와 서블릿 클래스가 올바른 패키지에 위치해 있는지, 그리고 @SpringBootApplication
이 프로젝트의 최상단 또는 해당 클래스를 하위에 포함하도록 패키징되어 있는지 확인하십시오.
진입 클래스 여부 확인: Mvc1Application
이 제대로 메인 클래스로 설정되어 있는지 (SpringBootServletInitializer
를 확장한 ‘ServletInitializer’를 통해) 반드시 확인해야 합니다. Mvc1Application
이 스프링 부트 어플리케이션의 시작점이라는 점을 꼭 확인해주세요.
IDE 설정 확인: Gradle 설정에서 “Build and Run”이 IntelliJ로 되어 있는지 확인하세요. 일부 경우에서 Gradle로 설정되어 있다면 빌드가 제대로 되지 않을 수 있습니다.
관련해 비슷한 문제를 해결한 기존 질문을 참고하실 수 있습니다:
- localhost:8080/hello white label
- 처음으로 helloServlet 실행 시 Whitelabel Error Page가 나옵니다.
- localhost:8080/hello 접속 시 Whitelabel Error Page
이 외에도 추가적인 사항이 궁금하시면 질문해 주세요. 지식 공유자님의 답변을 받는 데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다.!