SpringBoot入门学习笔记十二(SpringBoot整合JSP开发)

版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103293564







我们之前的 Spring Boot 项目默认会自带一个内置的 Tomcat,所以我们就不需要打成 War 包,直接通过 Jar 包形式即可运行。
但是,如果要整合 JSP 开发,就需要 单独配置一个 外置的 Tomcat,这时候就需要打 War 包了。
本篇主要讲解 Spring Boot 整合 JSP 开发步骤:


1、新建 Spring Boot 项目,打成 War 包

和之前新建 Spring Boot 项目一样,只需要将 Jar 改为 War 即可。大家会发现在 pom.xml 文件多了以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

注: 其中 <scope> 标签的 provided 表示将项目打包时,不需要将内置的 Tomcat 一起打包。



2、建立基本的 Web 项目所需要的目录结构

Web项目目录结构

注: 其中 WEB-INF 目录是必需的,而 WEB-INF 目录下的 web.xml 是不需要写的,因为 Spring Boot 会自动配置。



3、创建 Tomcat 项目并部署项目

我们创建好项目后,和原来部署项目的方法相同部署到指定服务器上,然后开启服务器即可。

我们在之前访问 Spring Boot 项目时,默认是不需要加项目名的,而此外置的 Tomcat 实例是需要写项目名的,格式如下:

http://主机:端口号/项目名/文件名 (如:http://localhost:8080/SpringBootJsp/index.jsp)

大家会发现,我们在启动 Tomcat 服务器时,它是先启动 Tomcat 服务器,再启动 Spring Boot 项目的,不需要手动执行 Spring Boot 项目中的主配置类了。

我们可以分析一下这是为什么?

分析: 我们会发现创建的这个外置 Tomcat 项目,在主配置类的同包下多了一个 ServletInitializer类,这个类是一个初始化类。如果是一个打成 War 包的 Spring Boot 项目,在启动服务器 Tomcat 时,它会自动调用ServletInitializer类(初始化类)中的 configure方法,configure方法就会调用 Spring Boot 的主配置类(SpringBootJspApplication.class),所以 Spring Boot 就会启动了。
一句话: 即在启动 Tomcat 服务器时,第一会启动 Tomcat,第二会启动 Spring Boot 项目。



博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



发布了166 篇原创文章 · 获赞 169 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/sun8112133/article/details/103293564
今日推荐