前言
记录项目需求的每日踩坑日记 ,本次只记录外部tomcat访问spring boot war包的访问方式,如果是 thymeleaf 只需要配好模板前缀和后缀即可
整体结构
pom文件配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
启动类
启动类继承SpringBootServletInitializer实现configure方法
@Configuration
@EnableAutoConfiguration
@ComponentScan({"com.aostar.dispatch.common",
"com.aostar.dispatch.controller",
"com.aostar.dispatch.excel.properties",
"com.aostar.dispatch.mapper",
"com.aostar.dispatch.service"})
@EnableScheduling
@MapperScan("com.aostar.dispatch.mapper")
public class DispatchApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DispatchApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(DispatchApplication.class);
}
}
Controller 方法
@Controller
@RequestMapping("/home")
public class IndexController {
@GetMapping("/index")
public String index() {
return "redirect:/index.html";
}
}
以上步骤完成之后,打包,放入tomcat webapps目录下 启动
访问路径 http://IP:端口/项目名/home/index
踩坑记录
Spring boot 2.x与Spring boot 1.x 打包之后对应的tomcat版本不同
版本对应
spring boot 版本 | tomcat版本 |
---|---|
1.x | 7.0.x |
2.x | 8.x~9.x |
Tomcat隐藏项目名
在server.xml的Host标签下添加
windows | linux |
---|---|
<Context path="" docBase="项目名" reloadable="true"/> | <Context path="" docBase="tomcat路径/webapps/项目名" debug="0" reloadable="true"/> |