본문 바로가기
IDE/이클립스

이클립스에서 톰캣을 실행했고 분명 에러로그 하나 없이 잘 started 되었는데, 브라우저에서 localhost:8080 호출하면 톰캣 기본화면이 나오지 않고 404창만 뜰 경우

by gf0308 2022. 7. 6.

문제 상황

이클립스에서 분명 에러 로그 하나 없이 톰캣을 실행했는데

브라우저에서 localhost:8080 호출하면 톰캣 화면이 나오지 않고 404창만 뜨는 경우가 있다.

— 이클립스에서 톰캣 실행했는데

 

— 404 창만 뜬다

 

혹시 톰캣 자체가 문제인가 싶어 직접 따로 실행해보면

 

톰캣 서버 화면이 잘만 올라온다.

 

원인

이러한 케이스의 원인은

톰캣 내용물 중 배포되어야 할 것인 '웹 애플리케이션 디렉터리 (web application directory)'가 제대로 배포되지 않아서 그렇다.

이러한 상황에서는 단순히 톰캣 고양이 화면(index.html)만 안 나오는 게 아닌,

톰캣 bin폴더 안에 어떤 뷰 페이지를 직접 넣어주더라도 톰캣 구동 후 localhost:8080 호출 시 해당 뷰 화면이 뜨지 않는다.

애초에 해당 내용을 담은 디렉터리 부분이 배포가 안되었기 때문이다.

 

해결책

웹 애플리케이션 디렉터리 폴더가 배포되게 해 주면 된다.

 

(이클립스의 경우)

— 좌측 아래 Servers 창의 톰캣을 더블클릭하고 Overview 창을 켠다

— 그리고 Server Locations 메뉴에서 ‘Use Tomcat installation(takes control of Tomcat installation)’ 을 체크해주고 저장한다.

(디폴트로는 첫 번째 칸인 ‘Use workspace metadata’가 선택되어 있다. 워크스페이스 메타데이터를 사용해서 ‘톰캣 Server의 Location(위치)’ 를 알아내겠다는 것인데, 이 상태에서 안 먹히면 톰캣 Server의 Location직접 경로를 알려줘서 인식하게 해야 알아먹는다.)

 

이러고서 재실행하면 다음과 같이 정상적으로 톰캣 서버가 올라왔음을 확인할 수 있다.

편ㅡ안

 

첫 번째 방식으로 톰캣을 실행했을 때(Use workspace metadata 체크 상태)의 톰캣 로그와

두 번째 방식으로 톰캣을 실행했을 때(Use Tomcat installation 체크 상태)의 톰캣 로그를

서로 비교해보면 원인을 더 명확히 알 수 있다.

— 좌측이 두 번째 로그, 우측이 첫 번째 로그

 

초반에는 별 차이가 없이 동일하지만

중간부터 내용이 확연히 차이 난다

— 배포(deploy)를 할 대상인 웹 애플리케이션 디렉터리(web application directory)인 “C:\KJB\kjb\For_Development\Util\apache-tomcat-8.0.32-windows-x64\apache-tomcat-8.0.32\webapps”를

시스템이 인식했고/아예 안 했고의 차이가 있다.

 

정리

톰캣을 분명 실행했고 에러 로그 하나 없이 Started라고 떴는데 브라우저 화면에서 localhost를 호출 시 

서버의 뷰 화면이 제대로 뜨지 않고 404창만 뱉는다면,

톰캣 내 ‘웹 애플리케이션 디렉터리’ 부분이 정상적으로 deploy가 되지 않았는지 확인해보고

배포되지 않았다면 이클립스 톰캣 설정에서 ‘Use Tomcat installation’을 클릭해 저장하고 다시 실행해본다.