idea部署springboot项目到外部tomcat
【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相关推荐
- springboot项目在外部tomcat运行出现的问题
1.去除自带的tomcat服务 <dependency><groupId>org.springframework.boot</groupId><artifac ...
- Tomcat部署SpringBoot项目
Tomcat部署SpringBoot项目 1.SpringBoot项目处理 ①配置pom.xml <!-- 需要排除内嵌的tomcat,才能让其用tomcat部署 --><depen ...
- Docker 部署SpringBoot项目不香吗?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:流星007 链接:toutiao.com/i68433912 ...
- Centos7云服务器部署SpringBoot项目(手动配置环境篇)
文章目录 前言 一.部署Tomcat服务器 1.安装JDK1.8 2.安装与启动tomcat 配置安全组(8080端口) 二.安装JDK8 三.Mysql5.7安装 1.下载mysql 2.启动MyS ...
- docker镜像原理基础与dockerfile部署springboot项目
一.docker镜像原理 1.操作系统组成部分 进程调度子系统 进程通信子系统 内存管理子系统 设备管理子系统 文件管理子系统 网络通信子系统 作业控制子系统 Linux文件系统由bootfs和roo ...
- 【阿里云 Linux 服务器】购买 Linux 到项目部署过程中遇到的问题,部署 SpringBoot 项目到服务器上,在手机上安装 Android 程序进行测试
文章目录 一.购买好服务器之后要重置密码 二.利用 putty 程序登录访问你的服务器 三.配置安全组开放端口 四.部署项目前期准备工作 4.1 安装 Java 4.2 安装 mysql 4.3 安装 ...
- 阿里云服务器购买及宝塔管理和如何部署springboot项目
文章目录 1.阿里云服务器购买 2.远程连接服务器 3.宝塔管理服务器 4.部署springboot项目 1.阿里云服务器购买 一般正常买一个服务器价格比较贵,这里建议用新用户和学生身份来购买,打折力 ...
- IDEA配置Docker一键部署SpringBoot项目(企业级做法)
Docker一键部署SpringBoot项目 前言 一.开启Linux的Docker远程访问 1.1 安装vim工具: 1.2 修改`daemon.json`的配置: 1.3 加入配置: 1.4 重新 ...
- docker安装以及部署springboot项目
一.docker安装 1.安装 Docker Engine-Community 安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本: ...
最新文章
- 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?
- SearchRecentsuggestionsProvider
- Dilated/Atrous conv 空洞卷积/多孔卷积
- htmlbuilder php phantomjs
- Android4.0 以后不允许在主线程进行网络连接
- ConstraintLayout 学习笔记
- c语言报错spawning 插1,C语言错误····error spawning c1.exe
- tomcat 热部署 生产环境_Tomcat:热部署新的jar
- 关于选择,说一个同学的真实故事
- OSGI的实现——Felix
- arduino与74HC595驱动8位数码管(含代码)
- 用C语言实现C++ 继承与多态
- 49个excel常用技巧(三)
- 博通无线网卡驱动 linux,debian 安装博通无线网卡驱动
- 免费高速的钉钉内网穿透——阿里出品必是精品(不限速,不限流量)
- 开题报告中的研究目的与研究内容怎么写?
- Flutter 安装包体积优化
- Linux,Centos下 Tomcat8 修改jvm内存配置的新方法
- MybatisPlus核心功能——实现CRUD增删改查操作 (包含条件构造器)
- 量子力学,在生命的世界里
热门文章
- Codeforces Round #619 (Div. 2) D. Time to Run 矩阵回路构造
- Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2)
- 牛客题霸 [数组中未出现的最小正整数] C++题解/答案
- P2852 [USACO06DEC]Milk Patterns G
- CF1019D-Large Triangle【计算几何,二分】
- bzoj#4722-由乃【倍增,抽屉原理,bitset】
- P4036-[JSOI2008]火星人【Splay,二分,hash】
- ssl1213-多边形面积【差积,计算几何】
- 【线段树】Frog Traveler(CF751D)
- [集训队作业2018] 复读机(生成函数,单位根反演)