내장 톰캣 서버의 종속성을 gradle을 통해 설치하신 것을 기억하실겁니다.
build.gradle 파일을 열어줍니다.
코드를 살펴보시면 다음과 같이 추가했었습니다.
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
종속성의 버전을 생략하고 설치하는 코드입니다. 보통 알아서 최신버전으로 받아주는데..10.0.4 버전을 가져옵니다.
10.0.4 버전에선 jsp를 다운로드 하려고 시도합니다. 그러므로 특정버전으로 설치될 수 있도록 종속성 추가 코드를 수정합시다. 저는 9.0.44 버전으로 정했습니다.
위의 코드를 다음과 같이 수정해줍니다.
implementation group: 'org.apache.tomcat.embed', name: 'tomcat-embed-jasper', version: '9.0.44'
그리고 다시 그래들을 로드해줍니다. 잠시 기다리시면 톰캣 내장 서버의 버전 때문에 생겼던 .jsp 를 다운로드 하려는 시도가 사라지고 정상적으로 페이지가 보일 것 입니다.
Cheers!
메이븐의 경우
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>9.0.44</version>
</dependency>
만약 위에 방법으로도 동일하게 jsp 파일 다운로드가 되시는 분들은
build.gradle 파일에서
implementation 'javax.servlet:jstl'
를
implementation 'javax.servlet:jstl:1.0'
으로 변경 후, build.gradle을 reload 해주세요.
https://dev-handbook.tistory.com/40 보시면
jstl 버전 은 Sevlet Spec, JSP Spec, Tomcat Version과 관련 있습니다.
Tomcat 버전은 Spring 으로 Tomcat 서버 구동시 로그에서 확인됩니다.
[2m2023-05-19 10:28:46.527[0;39m [32m INFO[0;39m [35m11356[0;39m [2m---[0;39m [2m[ main][0;39m [36morg.apache.catalina.core.StandardEngine [0;39m [2m:[0;39m Starting Servlet engine: [Apache Tomcat/9.0.74]
PS) 참고로 tomcat-embed-jasper:9.0.74로 톰캣 버전으로 지정하시면 안됩니다. 해당 버전이 없습니다.
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper:9.0.44'
답글