[Spring] Spring 리턴 시 404 오류(경로상 /WEB-INF/views와 .jsp 2번 출력될 때)

2022. 11. 18. 10:43·🚀 from error to study/Java

 

하단 코드블럭과 같이 Controller와 errorPage를 기술했더니 /WEB-INF/views와 .jsp가 두 번 출력되는 오류 발생!

 

💻 현재 Controller 코드

		if(loginUser == null) { // 로그인 실패
			
			// 에러 문구를 응답 페이지에 실어서 포워딩
			model.addAttribute("errorMsg", "로그인 실패");
			
			return "/WEB-INF/views/common/errorPage.jsp";
		
		} else { // 로그인 성공
			
			return "";
		}

 

💻 현재 errorPage 코드

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

    <jsp:include page="header.jsp" />

    <br>
    <div align="center">
        <img src="https://cdn2.iconfinder.com/data/icons/oops-404-error/64/208_balloon-bubble-chat-conversation-sorry-speech-256.png">
        <br><br>
        <h1 style="font-weight:bold;">${ errorMsg }</h1>
    </div>
    <br>

    <jsp:include page="footer.jsp" />
    
</body>
</html>

 

 

에러 메시지도 잘 기술해 줬고, 경로도 제대로 지정해 줬는데 왜 그럴까?

 

 


 

❗️ 이유: Spring의 기본 설정을 간과한 것!

 

💻 Servlet-context.xml (기본 설정 파일)

	<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<beans:property name="prefix" value="/WEB-INF/views/" />
		<beans:property name="suffix" value=".jsp" />
	</beans:bean>

 

servlet-context.xml의 주소의 자동 완성을 도와주는 bean 설정에 의해 접두어와 접미어를 제외한 나머지 부분에 대한 경로만 문자열로 리턴해야 함!

 

기본 설정된 접두어: "/WEB-INF/views/"
기본 설정된 접미어: ".jsp"

 

내가 리턴하고 싶은 경로: /WEB-INF/views/common/errorPage.jsp


접두어와 접미어 제외 경로: common/errorPage


💻 수정한 Controller 코드

		if(loginUser == null) { // 로그인 실패
			
			// 에러 문구를 응답 페이지에 실어서 포워딩
			model.addAttribute("errorMsg", "로그인 실패");
			
			return "common/errorPage";
			
		} else { // 로그인 성공
			
			return "";
		}

 

⚡️ 결과 실행 화면

 

이제 잘 포워딩 됨!

저작자표시 비영리 변경금지 (새창열림)
'🚀 from error to study/Java' 카테고리의 다른 글
  • [STS] The archive: C:/dev/apache-tomcat-8.5.82/bin/bootstrap.jar which is referenced by the classpath, does not exist.
  • [Spring/Eclipse] 'Periodic workspace save.' has encountered a problem. Could note write metadata for '/Servers'.
  • [Spring] Maven 설치법
  • [이클립스] 서버 추가 시 이미 존재하는 이름 오류 해결하기 The name is already in use. Specify a different name.
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[Spring] Spring 리턴 시 404 오류(경로상 /WEB-INF/views와 .jsp 2번 출력될 때)
상단으로

티스토리툴바