首页 > 其他分享 >springBoot项目正确认识打war包方式(含打包代码链接)

springBoot项目正确认识打war包方式(含打包代码链接)

时间:2024-01-20 22:06:32浏览次数:20  
标签:web springBoot spring boot public 正确认识 SpringBootServletInitializer servlet war


一:新建一个普普通通的springBoot项目

springBoot项目正确认识打war包方式(含打包代码链接)_spring boot

二:并且编写测试controller

@RequestMapping
@RestController
public class Controller {
    @RequestMapping("/zzh")
    public String toString() {
        return "zzh666";
    }
}

三:改造启动类(重点)

主要就是继承SpringBootServletInitializer,实现SpringBootServletInitializer可以让spring-boot项目在web容器中运行

@SpringBootApplication
public class AlinkApplication extends SpringBootServletInitializer {
    /**
     * 实现SpringBootServletInitializer可以让spring-boot项目在web容器中运行
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        builder.sources(this.getClass());
        return super.configure(builder);
    }

    public static void main(String[] args) {
        SpringApplication.run(AlinkApplication.class, args);

    }
}

四:配置pom文件

添加如下依赖:就是排除内置tomcat和web环境运行的依赖

<!-- spring-boot web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->
            <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>
        </dependency>

修改打包方式为war

<packaging>war</packaging>

打包

点clean在点package成功打包

springBoot项目正确认识打war包方式(含打包代码链接)_tomcat_02

springBoot项目正确认识打war包方式(含打包代码链接)_web_03

测试

把这个war扔我服务器上测试一下

springBoot项目正确认识打war包方式(含打包代码链接)_web_04


由于我的tomcat没有配置server文件中的Context 结点,所以url需要手动输入指定访问哪个项目。成功啦nice。另外我这里的项目配置了
server.servlet.context-path=/MyProject失效了,emm无解了。如果生效应该要输入,http://ip/demo-0.0.1-SNAPSHOT/MyProject/zzh
吧,哈哈哈哈,我搞不清就这样吧,能访问就行

springBoot项目正确认识打war包方式(含打包代码链接)_spring boot_05


标签:web,springBoot,spring,boot,public,正确认识,SpringBootServletInitializer,servlet,war
From: https://blog.51cto.com/u_16414043/9346286

相关文章

  • springboot整合springSecurity入门案例(实现登录,记住我等常用标签使用)
    一,整合进依赖每个依赖都标了注释,大家可以按照自己需要的来添加,置于配置问件啥的,大家可以参考springboot+mybatisplus+redis整合(附上脚手架完整代码)<!--主要就是加了这个依赖--><dependency><groupId>org.springframework.security</groupId><artifact......
  • springboot+mybatis-plus+redis整合(附上脚手架完整代码)
    首先新建一个springboot项目next到这里的时候,我们可以选择用jdk几,还有就是Group,这个一般就是com.公司名字了,artifact就是项目名字。个人开发我还是喜欢用com.名字前缀哈。到了这一步的话,如果对这个项目有什么别的需求,比如需要用到mybatis啥的可以勾相应的选项。其实就是idea自动帮......
  • springboot项目结合filter,jdk代理实现敏感词过滤(简单版)
    我们对getParameter()这个方法得到的参数进行敏感词过滤。实现思路:利用过滤器拦截所有的路径请求同时在在过滤器执行的时候对getParameter得到的value值进行过滤。最后呢,到我们自己的实现的逻辑中呢?这个value值就被我们做过处理了。1:自定义的过滤配置文件把文件位置放在resource下的......
  • 正确理解springboot国际化简易运行流程
    看源码可以看出–》大致原理localeResolver国际化视图(默认的就是根据请求头带来的区域信息获取Locale进行国际化)返回的本地解析是根据响应头来决定的)接着按住ctrl点localeresolver可知localeresolver是一个接口于是有了这些我们只需通过继承LocaleResolver来自定义我们自己的Loca......
  • springboot中优雅的个性定制化错误页面+源码解析
    boot项目的优点就是帮助我们简化了配置,并且为我们提供了一系列的扩展点供我们使用,其中不乏错误页面的个性化开发。理解错误响应流程我们来到org.springframework.boot.autoconfigure.web.servlet.error下的ErrorMvcAutoConfiguration这里面配置了错误响应的规则。主要介绍里面注册......
  • SpringBoot项目通过注解快速解决,字典翻译,响应数据加密,数据脱敏等问题
    简介在几乎所有SpringBoot项目中都会面临字典翻译,接口数据加密,数据脱敏的问题。在每个接口中单独的解决会非常繁琐,因此接下来介绍一下怎么通过注解快速解决这些问题。实现步骤1.引入maven坐标<dependency><groupId>io.gitee.gltqe</groupId><artifactId>......
  • VMware Aria Automation Orchestrator 8.16 - 现代工作流程自动化平台
    VMwareAriaAutomationOrchestrator8.16-现代工作流程自动化平台请访问原文链接:https://sysin.org/blog/vmware-aria-automation-orchestrator/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org现代工作流程自动化平台VMwareAriaAutomationOrchestratorVMwar......
  • Java21 + SpringBoot3集成WebSocket
    目录前言相关技术简介什么是WebSocketWebSocket的原理WebSocket与HTTP协议的关系WebSocket优点WebSocket应用场景实现方式添加maven依赖添加WebSocket配置类,定义ServerEndpointExporterBean定义WebSocketEndpoint前端创建WebSocket对象总结前言近日心血来潮想做一个开源项目,目......
  • SpringBoot引入SpEL,优雅控制复杂权限!
    对于在Springboot中,利用自定义注解+切面来实现接口权限的控制这个大家应该都很熟悉,整体来说思路如下:自定义一个权限校验的注解,包含参数value配置在对应的接口上定义一个切面类,指定切点在切入的方法体里写上权限判断的逻辑然而,在实际的开发中,对于权限校验的需求场景是很多的,比如:傻眼......
  • springboot项目中的一些小tips
    1.服务出现类不是java,左下角是红色"J"解决方式:选择java包右键,MarkDirectoryas=>SourcesRoot2.myBatisX插件推荐方便mapper和xml之间的对应,还可以生成代码,推荐文章:初步使用:https://blog.csdn.net/weixin_47025166/article/details/125362323进阶使用:https://baomidou.c......