web.xml에서 최초 시작 파일(index.jsp)이 적용되지 않는 경우 어떻게 하나요?
💡 요약 정리
- Apache + Tomcat 연동 구조에서는 web.xml의 welcome-file이 무시될 수 있습니다.
- 홈 디렉터리의 .htaccess에서 DirectoryIndex로 최초 파일 우선순위를 지정하세요.
- 예시: DirectoryIndex main.jsp index.jsp ...
- 이 방식은 64bit JSP 광호스팅(Apache + Tomcat)에서만 적용됩니다.
- Tomcat 단독(Tomcat JSP호스팅)은 web.xml의 <welcome-file> 설정으로 적용됩니다.
1. 증상
- web.xml에 <welcome-file>main.jsp</welcome-file> 등을 설정했는데도, 사이트 접속 시 해당 파일이 시작 페이지로 적용되지 않습니다.
2. 원인
- Apache + Tomcat 연동 구조에서는 Apache가 디렉터리 인덱스를 먼저 처리합니다.
- 따라서 Tomcat이 web.xml의 <welcome-file> 설정을 적용하기 전에, Apache의 인덱스 규칙이 우선되어 web.xml 설정이 반영되지 않을 수 있습니다.
3. 해결 방법 (Apache + Tomcat 연동형: 64bit JSP 광호스팅)
- 홈 디렉터리(계정의 최상위 디렉터리)에 .htaccess 파일을 생성하고, DirectoryIndex로 최초 파일명을 원하는 우선순서대로 지정합니다. 원하는 시작 파일을 가장 앞으로 둡니다.
[anyuser@anyhost ~]$ vi .htaccess
DirectoryIndex main.jsp index.jsp index.html index.php index.php3 index.htm index.shtml index.cgi
- 위 예시는 main.jsp를 최우선 시작 파일로 지정합니다.
- Apache가 먼저 처리한 뒤 Tomcat으로 전달되므로, 지정한 순서대로 시작 파일이 적용됩니다.
4. Tomcat JSP호스팅(단독 Tomcat)에서는 이렇게 하세요
- Tomcat만 사용하는 구조(Tomcat JSP호스팅)에서는 web.xml의 <welcome-file> 설정만으로 적용됩니다.
- .htaccess 설정은 Tomcat 단독 구조에서는 적용되지 않습니다.
5. 참고
- 이 .htaccess 방식은 Apache + Tomcat 연동형(64bit JSP 광호스팅)에서만 유효합니다.
- Tomcat JSP호스팅(단독형)은 web.xml의 <welcome-file>로 설정하세요.