【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 {@Overrideprotected 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 {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder application) {// 传入springboot应用主程序return application.sources(Springbt04WebJsp2Application.class);}
}

step4)启动tomcat即可

idea部署springboot项目到外部tomcat相关推荐

  1. springboot项目在外部tomcat运行出现的问题

    1.去除自带的tomcat服务 <dependency><groupId>org.springframework.boot</groupId><artifac ...

  2. Tomcat部署SpringBoot项目

    Tomcat部署SpringBoot项目 1.SpringBoot项目处理 ①配置pom.xml <!-- 需要排除内嵌的tomcat,才能让其用tomcat部署 --><depen ...

  3. Docker 部署SpringBoot项目不香吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...

  4. Centos7云服务器部署SpringBoot项目(手动配置环境篇)

    文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...

  5. docker镜像原理基础与dockerfile部署springboot项目

    一.docker镜像原理 1.操作系统组成部分 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux文件系统由bootfs和roo ...

  6. 【阿里云 Linux 服务器】购买 Linux 到项目部署过程中遇到的问题,部署 SpringBoot 项目到服务器上,在手机上安装 Android 程序进行测试

    文章目录 一.购买好服务器之后要重置密码 二.利用 putty 程序登录访问你的服务器 三.配置安全组开放端口 四.部署项目前期准备工作 4.1 安装 Java 4.2 安装 mysql 4.3 安装 ...

  7. 阿里云服务器购买及宝塔管理和如何部署springboot项目

    文章目录 1.阿里云服务器购买 2.远程连接服务器 3.宝塔管理服务器 4.部署springboot项目 1.阿里云服务器购买 一般正常买一个服务器价格比较贵,这里建议用新用户和学生身份来购买,打折力 ...

  8. IDEA配置Docker一键部署SpringBoot项目(企业级做法)

    Docker一键部署SpringBoot项目 前言 一.开启Linux的Docker远程访问 1.1 安装vim工具: 1.2 修改`daemon.json`的配置: 1.3 加入配置: 1.4 重新 ...

  9. docker安装以及部署springboot项目

    一.docker安装 1.安装 Docker Engine-Community 安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本: ...

最新文章

  1. 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?
  2. SearchRecentsuggestionsProvider
  3. Dilated/Atrous conv 空洞卷积/多孔卷积
  4. htmlbuilder php phantomjs
  5. Android4.0 以后不允许在主线程进行网络连接
  6. ConstraintLayout 学习笔记
  7. c语言报错spawning 插1,C语言错误····error spawning c1.exe
  8. tomcat 热部署 生产环境_Tomcat:热部署新的jar
  9. 关于选择,说一个同学的真实故事
  10. OSGI的实现——Felix
  11. arduino与74HC595驱动8位数码管(含代码)
  12. 用C语言实现C++ 继承与多态
  13. 49个excel常用技巧(三)
  14. 博通无线网卡驱动 linux,debian 安装博通无线网卡驱动
  15. 免费高速的钉钉内网穿透——阿里出品必是精品(不限速,不限流量)
  16. 开题报告中的研究目的与研究内容怎么写?
  17. Flutter 安装包体积优化
  18. Linux,Centos下 Tomcat8 修改jvm内存配置的新方法
  19. MybatisPlus核心功能——实现CRUD增删改查操作 (包含条件构造器)
  20. 量子力学,在生命的世界里

热门文章

  1. Codeforces Round #619 (Div. 2) D. Time to Run 矩阵回路构造
  2. Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)
  3. 牛客题霸 [数组中未出现的最小正整数] C++题解/答案
  4. P2852 [USACO06DEC]Milk Patterns G
  5. CF1019D-Large Triangle【计算几何,二分】
  6. bzoj#4722-由乃【倍增,抽屉原理,bitset】
  7. P4036-[JSOI2008]火星人【Splay,二分,hash】
  8. ssl1213-多边形面积【差积,计算几何】
  9. 【线段树】Frog Traveler(CF751D)
  10. [集训队作业2018] 复读机(生成函数,单位根反演)