왜 컨트롤러는 변한게 없는데 새로 만든 html 파일이 뜨나요?
102
작성한 질문수 1
지난 강의에서 index.html을 만들고 이번에 hello-static.html을 만들어서 실행했는데 왜 새로 만들어진 html이 띄워지나요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. one님.
질문 주신 내용에 관련해서 스프링의 파일 요청 처리 우선순위에 대해 설명드리겠습니다.
스프링 부트에서 리소스를 제공하는 우선순위는 보통 다음과 같습니다:
컨트롤러에서 매핑: URL 요청이 있을 때 가장 먼저 적용됩니다. 즉, 컨트롤러에 특정 매핑이 있다면 그에 해당하는 핸들러 메서드가 실행됩니다.
정적 리소스(static resources): 만약 컨트롤러에서 해당 요청을 처리하지 못하면
src/main/resources/static디렉토리에 있는 파일을 찾습니다.index.html이나hello-static.html과 같이 정적 파일이 이곳에 있다면, URL 요청에 대응하여 해당 파일이 반환됩니다.템플릿 엔진: 마지막으로 템플릿 디렉토리(
src/main/resources/templates)에서 템플릿 파일이 동적으로 렌더링되어 클라이언트에 반환될 수 있습니다.
one님이 hello-static.html을 static 디렉토리에 두셨다면, URL로 직접 접근했을 때 이는 앞서 설명드린 정적 리소스 단계에서 바로 처리됩니다. 따라서 localhost:8080/hello-static.html과 같이 접근했을 때 해당 파일이 브라우저에 표시되는 것입니다.
참고할 만한 관련 질문 URL:
- 정적컨텐츠 관련 질문이요!
- localhost8080을 접속하면 이전에 만들어둔 화면이 뜹니다!!
질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
..
0
76
2
Unused property.....
0
99
2
project JDK is misconfigured
0
130
2
외부 API의 ID 타입(String/UUID)과 내부 도메인의 ID 타입(Long)이 불일치할 때의 설계 정석
0
82
2
단위/통합 테스트 버전충돌 문제
0
91
2
❗️springboot 4.0.2 버전 aspectj dependency 설정❗️
0
229
1
윈도우 build test오류 질문
1
102
2
테스트 관련 공부에 대한 조언을 얻고 싶습니다
0
98
2
테스트 실행 시 에러 질문
0
291
1
name을 통한 비교와 객체를 통한 비교
0
77
1
빌드 후 libs 없음
1
128
1
윈도우 gradlew.bat 에러
0
167
1
@PostMapping("/members/new")가 동작하지 않습니다
0
88
1
java static class와 kotlin class
0
77
1
스프링 DB연결
0
126
1
소요 시간
0
85
2
ddl.sql에 빨간 밑줄
1
101
2
welcome page 에러
0
181
3
잘 모르겠습니다.
0
163
2
fail을 똑같이 쳤는데 오류가 발생해요
0
156
2
index.html Welcome page
0
121
1
프로젝트 gradle-groovy ?
0
366
1
테스트코드 메서드명 한글
0
201
2
강의자료 확인 요청
0
79
2





