关键词:
【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中实... 查看详情