springboot项目从jar包转为war包,顺便解决tomcat部署

本文详细介绍了如何将前后端分离项目(front、back依赖common)从jar包转换为war包,涉及修改pom文件、SpringBoot配置调整和打包过程。重点讲解了SpringBootServletInitializer的使用以及解决JSessionId问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单的记录下从jar包转为war包的过程,怎么打jar包就不说了,网上都有教程

一、先看下项目架构

在这里插入图片描述

很简单的一个前后端分离项目,三个模块都在customs下,front和back都依赖于common

二、将front、back和common中的pom文件修改

在这里插入图片描述

只需要将打包方式转换为war就可以了

在这里插入图片描述

在common的pom文件中去除掉springboot自带的tomcat并引入新的tomcat依赖

三、修改front和back中的主启动类,继承SpringBootServletInitializer,重写一下配置方法

在这里插入图片描述

附上代码

@MapperScan("com.jsiec.customs.common.mapper")
public class OldBrandFrontApplication extends SpringBootServletInitializer {
  public static void main(String[] args) {
    SpringApplication.run(OldBrandFrontApplication.class, args);
  }

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(OldBrandFrontApplication.class);
  }

  @Override
  public void onStartup(ServletContext servletContext) throws ServletException {
    super.onStartup(servletContext);
    servletContext.setSessionTrackingModes(Collections.singleton(SessionTrackingMode.COOKIE));
    SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
    sessionCookieConfig.setHttpOnly(true);
  }
}
相信有小伙伴注意到我还重写了一个onStartup的方法,那它是干什么的呢,他是为了解决我用tomcat部署后所有引入的js会自动加上Jssessionid的问题。有Jssessionid后有的Js加载不出来,所以要重写此方法对Jssessionid进行过滤。

四、打包

在这里插入图片描述

install一下

在这里插入图片描述

打包成功

在这里插入图片描述

在项目文件的target目录下就能找到war包了。
成功了(๑¯◡¯๑)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值