강의

멘토링

커뮤니티

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

wlsdns13님의 프로필 이미지
wlsdns13

작성한 질문수

폴더에 없는 html 파일이 연동되어 떠요;;;

작성

·

203

0

없는 html.png이상한 html.pnghttps://magicmk.tistory.com/25

스프링부트를 공부하면서 인터넷에 있는 파일 따라치고 있는데 이 폴더에는 login.html을 만들지도 않았는데 여기로 연동되네요; home.html은 무시하고 폴더에도 없는 login.html 파일이 연동되길래 화나서 스프링부트 파일들을 보관해놓는 폴더자체를 없애고 이 프로젝트만 냅뒀는데도 이러네요.. 구글링해도 안나오는데

혹시 비슷한 경험해보신 분이나 해결방법아시면 도움 좀 주세요 며칠째 고생입니다..

아예 다시 스프링부트 zip을 만들어서 새로 입력했는데도 저화면이 떠요.. 미치겠어요..

@GetMapping("/")
public String Home()
{
    return "redirect:/home";
}
@GetMapping("/members/new")
public String createMemberForm(String email, String username, String password) {
    return "members/createMemberForm";
}
@PostMapping("/members/new")
public String createMember(MemberFormDTO memberFormDTO) {
    Long memberId = memberService.join(memberFormDTO);
    return "home";
}

controller는 이렇습니다...

답변 1

0

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

wlsdns13님, 스프링부트 어플리케이션을 진행하시며 겪고 계신 문제는 실로 답답하실 것 같습니다.

사진 속 웹 페이지는 ‘login.html’이라는 파일을 요청하는 것으로 보이는데, 해당 파일이 프로젝트 디렉터리에 존재하지 않는다는 점이 문제인 것 같습니다.

먼저 확인해야 할 점은, 스프링부트 어플리케이션은 정적 리소스와 템플릿을 통해 웰컴 페이지 설정을 지원한다는 것입니다. 스프링부트는 설정된 정적 컨텐츠 위치에서 처음으로 index.html 파일을 찾습니다. 해당 파일이 없으면 index 템플릿을 찾습니다. 이 중 하나라도 발견되면 자동으로 어플리케이션의 웰컴 페이지로 사용됩니다. 이는 스프링부트 레퍼런스 문서의 “8.1.1. The ‘Spring Web MVC Framework’ > Welcome Page” 섹션에서 확인하실 수 있습니다.

스프링부트 어플리케이션에서 /login이라는 경로로 요청이 오면 Controller에서 어떻게 처리하는지 확인해야 합니다. 현재 공유해주신 Controller 코드를 보면 / 경로는 redirect:/home으로 리다이렉트되고 있으며, /members/new 경로는 members/createMemberForm으로 뷰를 반환하고 있습니다.

/login 경로에 대한 처리가 Controller에 정의되어 있지 않기 때문에, 예상되는 점은 스프링 시큐리티나 기타 스프링의 설정에 의해 자동으로 login.html 페이지가 요청되고 있을 수 있다는 것입니다. 예를 들면, 스프링 시큐리티 로그인 페이지 설정에서 /login을 default 페이지로 설정하고 그에 해당하는 뷰 login.html이 자동으로 사용될 수 있습니다.

해결책으로는 다음과 같습니다:

  1. 프로젝트 설정에서 /login 경로에 대한 처리를 확인하세요. 스프링 시큐리티 설정 파일이나, 다른 웹 보안 관련 설정 파일을 검토하세요.

  2. 다른 Controller 내에 /login 경로에 대한 처리 로직이 숨어있지 않은지 확인하세요.

  3. 부팅 로그와 함께 실제로 브라우저에서 요청되는 URL을 확인하여 어떤 컨트롤러나 메소드가 해당 요청을 처리하는지 알아보세요.

  4. 캐시 문제일 수도 있으므로, 브라우저 캐시를 지우고 다시 시도해보세요.

  5. 만약 외부에 자동으로 구성된 login.html이 있다면 해당 파일이나 설정을 찾아서 제거하거나 수정하셔야 할 수 있습니다.

  6. IDE나 빌드 툴의 캐시 문제일 수 있으므로, IDEA의 경우 ‘Invalidate Caches / Restart’를 시도해보세요.

  7. 최후의 수단으로 프로젝트를 새로 만들어 보시거나, 기존 프로젝트를 완전히 삭제하고 재생성해보세요.

이외에도 많은 경우에 따라 문제의 원인이 될 수 있으니 차근차근 디버깅을 해보시는 것을 권장드립니다.

wlsdns13님의 프로필 이미지
wlsdns13

작성한 질문수

질문하기