StringBoot默认不支持使用jar包打包有JSP页面项目,所以如果包含有JSP页面的项目,需要使用war打包
前提:简单SpringBoot环境项目已经搭建好了。
第一步:导入依赖包以及修改maven打包方式
--导入依赖包,并且修改打包为war包<!--修改为war-->
<packaging>war</packaging>
<!--spring boot jsp页面解释器-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
第二步:编写jsp页面
注意事项:必须增加Web模块。webapp文件是web根目录。![](https://i-blog.csdnimg.cn/blog_migrate/daca9f9c43a09a10f7759d90ecab55b0.png)
第三步:修改入口类
增加对servlet的支持@SpringBootApplication
public class SpringBootJspApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootJspApplication.class, args);
}
//类似用于web.xml
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringBootJspApplication.class);
}
}
第四步:修改配置文件
修改SpringBoot配置文件application.properties配置视图解释器前后缀spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
第五步:创建contorller类测试
@Controller
public class IndexController {
@GetMapping("/index")
public String index(){
return "index";
}
}
第六步:打包war
使用install命令,打包安装,可以在Tomcat里面运行![](https://i-blog.csdnimg.cn/blog_migrate/1784477c93abae1caa2ad55eef48ae6d.png)
第七步:运行war包
注意事项:可以直接运行入口类执行,也可以在通过配置Tomcat服务器运行的。 SpringBoot2.2.2使用的是Tomcat9![](https://i-blog.csdnimg.cn/blog_migrate/8f23b498bdad9156f87bba39e0665d53.png)