1.修改pom文件
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2.修改Application启动类
@SpringBootApplication
public class MainApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MainApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
问题:
修改完成后,Tomcat和Sprinboot可以正常启动,可以访问Tomcat主页,但是无法访问项目中的JSP文件,报错404
解决:
尝试了很多方法并且浪费了很多时间,发现在外部的Tomcat配置文件server.xml中有自带了默认访问路径path,所以在访问项目时要带上path中项目名。将path修改为空,如下图,则可以直接访问JSP页面,这点和SpringBoot的内嵌Tomcat不同。
<Context docBase="D:\apache-tomcat-8.5.42\apache-tomcat-8.5.42\webapps\server"
path="" reloadable="true"
source="org.eclipse.jst.jee.server:server"/>