Spring Boot 整合 JSP 使用外部 Tomcat


       Spring Boot 默认使用的是嵌入式 Tomcat 容器,默认是将项目打成 jar 包的方式运行。我们只需要通过 java -jar xxx.jar 命令的方式直接运行即可。这种方式运行的优缺点如下:

       在使用 Spring Boot 开发项目时,如果选择使用外置的 Servlet 容器,那么首先需要先安装一个Tomcat,然后我们就可以将应用打成 war包的方式运行。接下来就以 Intellij IDEA 的方式,来创建一个 Spring Boot 项目,并设置打包方式为 war 包。

1.选择以 Spring Initializr 的方式创建项目

在这里插入图片描述

2.选择打 war 包的方式

在这里插入图片描述

3.选择一个 Spring Web模块,省去我们自己配置。

在这里插入图片描述

4.创建 web.xml 配置文件

       Spring Boot 工程默认是没有 web.xml 配置文件的,我们可以自己创建。使用快捷键Ctrl + Alt + Shift + S 或者File Structure…,选择Module来创建web.xml
在这里插入图片描述

5.此处以 JSP 为例,需要配置视图解析路径

       我们在 application.yml/application.properties 全局配置文件中,配置视图所在位置。本例将xxxx.jsp文件放在/WEB-INF/目录下。配置文件如下:

spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp

在这里插入图片描述

6.IDEA 中配置外置 Tomcat

在这里插入图片描述
选中 Edit Configurations 进行配置
在这里插入图片描述
设置 Tomcat 相关内容
在这里插入图片描述
设置 使用的 war 包
在这里插入图片描述
选择暴露在外的 exploded 这个。
在这里插入图片描述
设置完成后,请注意项目路径地址。如果此处为/abc,那么你需要通过 locahost:端口号/abc 的方式访问。
在这里插入图片描述

7.编写一个 Controller,跳转到我们编写的 /WEB-INF 下的 success.jsp 页

       本例端口号为:8080,调用 locahost:8080/hello 进行访问,此时会根据 prefixsuffix 的方式进行拼接,然后去路径下查找相对应的页面。此时便会找到 success.jsp 页面。该Controller 同时会使用 Model 进行值传递,将值传递给 success.jsp页。
在这里插入图片描述

8.启动 Tomcat

       启动 Tomcat ,它会加载 ServletInititlizer 这个类来启动 Spring Boot 项目(如果没有的话,你可以自己编写)。如果没有这个类,Spring Boot 项目时启动不了的。利用 Spring Initializr 方式会自动为你创建这个类,这个类的名称可以自定义。

1.如果没有,必须手动编写一个SpringBootServletInitializer 的子类,并调用configure方法

public class ServletInitializer extends SpringBootServletInitializer {
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
       //传入SpringBoot应用的主程序
      return application.sources(SpringBoot04WebJspApplication.class);
   }
}

2.如果有的话,正常启动 Tomcat 如下图所示
在这里插入图片描述

9.调用 hello 接口测试

在这里插入图片描述


博主写作不易,来个关注呗

求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙

博主不能保证写的所有知识点都正确,但是能保证纯手敲,错误也请指出,望轻喷 Thanks♪(・ω・)ノ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扛麻袋的少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值