idea部署springboot项目到外部tomcat(代码片段)

PacosonSWJTU PacosonSWJTU     2023-01-13     760

关键词:

【README】

本文旨在记录idea部署springboot项目到外部tomcat的步骤;

第一次部署会踩很多坑儿,多查google,多重试;

第一次部署,不建议手动录入依赖,因为有可能遗漏;而且网络上资料很多但也很乱,很容易出错和掉坑儿里;


【1】创建项目 


【2】 引入 spring web相关依赖

1)选择依赖

 点击finish

2)项目pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.5</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.cmc</groupId>
    <artifactId>springbt-04-web-jsp2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>springbt-04-web-jsp2</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

使用外部tomcat,而不是内嵌tomcat的方式有两种, 官方文档推荐的就是上面这一种 provided;

官方文档参见  “How-to” Guides

3)整体目录结构


【3】创建web.xml,设置根路径

1)进入 项目结构页面的module页面 (快捷键 ctrl+alt+shift+s)

2) 创建web根目录 src\\main\\webapp

 双击创建;

3) 创建web.xml文件

根目录(D:\\workbench_idea\\spring-bucket\\springboot\\springbt-04-web-jsp2\\src\\main\\webapp)下WEB-INF下创建web.xml 文件

 注意: 路径不要写错了 ;

4)创建完成后的效果


  【4】配置外部tomcat(这个简单)

1)进入配置页面

2)添加tomcat


【5】部署springboot项目到外部tomcat

1)进入部署页面

2)选择 exploded web制品库


【6】编写web页面和controller

1)编写web页面

hello.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>hello</title>
</head>
<body>
    <h1>hello world.</h1>
</body>
</html>

2)启动tomcat,查看访问效果

3)添加 controller

3.1)MyController

package com.cmc.springbt.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MyController 
    @GetMapping("/aaa")
    public String hello(Model model) 
        System.out.println("hello aaa");
        model.addAttribute("msg", "hello aaa");
        return "success";
    

3.2)修改hello.jsp 

<body>
    <h1>hello world.</h1>
    <a href="aaa">aaa</a>
</body>

3.3)添加 WEB-INF\\success.jsp 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>success</title>
</head>
<body>
    <h1>SUCCESS</h1>
    <h1>$msg</h1>
</body>
</html>

添加视图前后缀

application.properties 
# 设置视图路径前后缀
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
# 设置应用访问根路径
server.servlet.context-path=/springbt_04_web_jsp2

3.4)目录结构 

3.5)访问效果

4)springboot启动主程序

Springbt04WebJsp2Application

public class Springbt04WebJsp2Application 

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

ServletInitializer
public class ServletInitializer extends SpringBootServletInitializer 

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        return application.sources(Springbt04WebJsp2Application.class);
    


【7】小结

step1)必须创建一个 war项目;

step2)将嵌入式的tomcat设置为provided,表示 不打入 war包;

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

step3)必须编写一个  SpringBootServletInitializer 实现类; 目的调用 configure方法;

public class ServletInitializer extends SpringBootServletInitializer 

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) 
        // 传入springboot应用主程序
        return application.sources(Springbt04WebJsp2Application.class);
    

 

step4)启动tomcat即可

springboot应用war包形式部署到外部tomcat

 SpringBoot应用默认打包成为可执行jar模式让我们感觉到部署的便捷,接下来给大家介绍一下SpringBoot项目打War包形式部署到外部Tomcat。修改原有项目1.修改项目打开项目,修改pom文件:1.项目中加入spring-boot-starter-web(如果是已... 查看详情

springboot+idea配置外部servlet容器

创建War包springBoot项目1、点击File>New>Project2、点击SpringInitializer再点击next3、Packaging打包方式选择War包,再点击next4、点击Web选择SpringWeb,然后点击next5、点击finish完成创建的springboot项目中创建webapp文件和web.xml文件添加... 查看详情

springboot+idea配置外部servlet容器

创建War包springBoot项目1、点击File>New>Project2、点击SpringInitializer再点击next3、Packaging打包方式选择War包,再点击next4、点击Web选择SpringWeb,然后点击next5、点击finish完成创建的springboot项目中创建webapp文件和web.xml文件添加... 查看详情

idea将springboot项目部署到docker

一、idea安装docker插件1、安装2、配置 备注:要使docker可以通过2375端口访问,需要配置dockervim/lib/systemd/system/docker.service修改如下3、配置容器 Dockerfile文件(此处为了方便,将Dockerfile文件放到根目录下面)FROMjava:8VOLUME/tmpAD... 查看详情

[原创]-在idea中使用alibabacloudtoolkit将springboot项目部署到ecs服务器

在Idea安装 AlibabaCloudToolkit插件步骤:PrefererencesPluginsMarketplace搜索AlibabaCloudToolkitInstallRestartIdea 创建简单项目使用Idea创建SpringBoot项目:File-New-Project...SpringInitializr-Next填写项目信息,创建项目选择创建Web-S 查看详情

2021-07-07idea使用alibabacloudtoolkit插件一键部署springboot项目到docker

...内容先打包开始部署附demogitee地址https://gitee.com/livieyifeng/springboot_docker_demo.git 查看详情

idea快速部署springboot项目到docker(代码片段)

IDEA快速部署SpringBoot项目到Docker文章目录IDEA快速部署SpringBoot项目到Docker一、IDEA连接Docker自己的虚拟机远程服务器二、Maven插件与Dockerfiledocker-maven-pluginDockerfile三、项目打包上传镜像四、容器的创建与运行容器的创建环境的检查... 查看详情

springbootcentos部署springboot项目从0到1

在之前的博文《详解intellijidea搭建SpringBoot》介绍了idea搭建SpringBoot的详细过程,并在《CentOS安装Tomcat》中介绍了Tomcat的安装,前面几篇文章实际上已经充分准备好了部署Linux的必要条件。那么今天来看看如何在CentOS部署SpringBoot,... 查看详情

使用idea将springboot项目打war包部署到tomcat服务器上运行步骤详解(代码片段)

...到需要打war包部署到tomcat上运行的情景。   1.创建一个springboot项目,最原始的目录结构:  2.在pom文件中添加以下代码:使用packaging标签指定打包的方式位war包,添加build标签,指定一个上下文名,相当... 查看详情

部署springboot到tomcat服务器上

在tomcat里部署springboot项目成功,访问:服务器地址+端口+项目名称    问题:在idea里使用tomcat部署springboot项目,启动成功,却是访问失败? 查看详情

idea部署web项目到tomcat(详细讲解)

参考技术A日常开发中,如果是借助springboot或者其他封装程度较高的框架来开发Web项目的话,大多数时候我们是可以直接使用springboot内嵌的tomcat直接一键式启动Web服务器的。但是对于一些SSM框架、个人项目或者是其他比较久的项... 查看详情

react+springboot项目部署到腾讯云

...个人网站,并将项目部署到腾讯云。前端:React,后端:SpringBoot,云服务:centos7建议使用create-react-app创建react项目包,简单快捷。进入项目路径,开始运行直接使用项目自身的build指令进行打包,完成后会在项目根目录多出一个... 查看详情

idea内springboot项目设置热部署

一、需求分析:  编写idea中编写项目时,经常性改某几行代码就需要重新启动项目,比较浪费时间,借助idea的热部署可以实现代码的热部署二、实现经过  这边可以借助spring-boot-devtools模块进行配置,devtools会检测代码,并... 查看详情

idea设置springboot项目热部署

步骤:1.开启工程自动编译2.  Ctrl+Shift+Alt+/然后选择Registry,开启运行时允许自动编译  3.项目pom文件中添加热部署依赖<!--热部署依赖--><dependency><groupId>org.springframework.boot</groupId><artifactI 查看详情

idea-springboot项目设置热部署(代码片段)

...不要去查了,,同学)根据上面的提示,我们已经完成了SpringBoot项目的创建和运行,但是有一个问题就是,每次修改代码之后都需要重新启动调试,代码才能生效,比较麻烦,那有没有一种简单的方式呢?答案是有的,那就是... 查看详情

idea远程部署项目到tomcat整理

参考技术A昨天整一个idea远程部署,搞得头破血流的,整理一下,免得下次受苦。在tomcat安装目录/bin/catalina.sh脚本中添加一下命令,注意双引号之间是传递给JVM的参数,一个-D就是一个KV设置,保险起见每行后面留个空格,因为... 查看详情

springboot应用部署到外部tomcat

一、前言    SpringBoot内置tomcat使用很方便,打包成可执行jar文件后可以直接运行,然后内置Tomcat配置终究没有外部独立Tomcat方便,并且如果有多个web应用,使用外部独立Tomcat管理起来也更加方便。因此,这边文章... 查看详情

idea实现springboot热部署

...0c;就不得不停掉项目然后重启。如果是在微服务架构下的SpringBoot项目启动速度还稍微快一些,可以容忍;但是对于那些臃肿的单体老项目,改一次重启一次简直就是在浪费生命。下面就给大家分享一下如何在IDEA中实... 查看详情