springboot项目打成war包部署到tomcat(启动并访问)
默认已安装tomcat 且已有springboot项目 本文只讲整个大概流程 作为个人测试记录 因此此文极其粗糙
1.首先更改pom文件
1.设置打包方式为war
在project标签对内添加packaging标签对 设置值为 war
<packaging>war</packaging>
2.移除springboot内置tomcat 并添加 javax.servlet-api 依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.9.RELEASE</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
</dependencies>
2.更改启动类
让启动类继承SpringBootServletInitializer类 并重写configure方法
@SpringBootApplication
public class MySpringBootApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplication.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(MySpringBootApplication.class);
}
}
3.编写测试类及方法
在做1、2步骤之前 确保项目启动后下面的测试方法能正常访问
@RequestMapping("/myFirstController")
@RestController
public class MyFirstController {
@RequestMapping("/getStr")
public String getStr() {
return "SUCCESS!";
}
}
4.将项目打成war包
点击package即可
下图红框内的就是打好war包的所在位置
5.将war放置到tomcat中的webapps目录下
启动tomcat 访问测试方法的请求路径
请求路径默认为http://localhost:8080/“war包名称”/“测试类上的请求路径”/“测试方法上的请求路径”
可以看到方法的返回信息