SpringBoot 创建web项目并部署到外部Tomcat
作者:字伯约 发布时间:2023-09-15 18:25:04
前言
使用SpringBoot来开发项目相对于传统模式,要快速优雅许多,相信目前国内绝大部分web项目的开发还没有使用SpringBoot来做,如果你正需要开发一个web项目,不妨尝试使用SpringBoot来做。
本身SpringBoot是内嵌了web服务器,不需要单独的Tomcat,但是实际生产环境中,如果是web项目,Tomcat肯定是运维部门部署好了的,这个Tomcat,做了一些个性化的设置,开发出来的项目需要部署到这个Tomcat,如果是使用SpringBoot开发web服务,我认为可以直接使用内嵌的Tomcat,简单易于维护。
技术框架
SpringBoot
Maven
Tomcat8
要点
启动类Application.java需要继承SpringBootServletInitializer
打包war的时候,过滤tomcat依赖,需要添加<scope>provided</scope>
通过maven-war-plugin执行打包文件名,在application.properties文件中指定web项目的上下文
老外写的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同学可以直接查看这篇文章
开发过程
1.创建一个Maven Project(quickstart),名称为myweb,添加POM依赖
<modelVersion>4.0.0</modelVersion>
<groupId>com.boyue</groupId>
<artifactId>myweb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>myweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>myweb</warName>
</configuration>
</plugin>
</plugins>
</build>
2.创建Application.java
@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(SpringBootWebApplication.class, args);
}
}
3.创建IndexController.java
@Controller
@RequestMapping("/")
public class IndexController{
@RequestMapping("/index")
public String index(ModelMap map){
map.addAttribute("host","www.aspxhome.com");
return "index";
}
}
4.在src/main/resources下创建application.properties
server.contextPath=/myweb
5.在src/main/resources创建templates文件夹,添加index.html文件
<!DOCTYPE HTML>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<h1 th:text="${host}"></h1>
</body>
6.运行方式
直接启动Application.java的main函数,通过SpringBoot内嵌的Tomcat运行
执行mvn package 生产"myweb.war"包,拷贝到自己部署的Tomcat下,启动Tomcat运行
7.运行结果
访问http://localhost:8080/myweb/index
页面显示www.aspxhome.com
来源:http://www.jianshu.com/p/157eb1ab8524?utm_source=tuicool&utm_medium=referral


猜你喜欢
- 需求描述一个五子棋游戏,能实现双方黑白对决,当一方获胜时给出提示信息,利用GUI界面实现项目结构如下图一、实体FiveChess类提供五子棋
- 简介简单的文本编译器,可以通过弹出对话框打开文件,进行编写并保存文件。代码package Code.a;import java.io.*;i
- 目录1、在异常处理中,如释放资源,关闭数据库、关闭文件应由( )语句来完成。2、如下Java语句 double x=2.0; int y=4
- 关于Fresco的优点大家自行谷歌吧,它太强大太优秀了,我这一片小博文容纳不下啊羡慕,今天主要给大家简单介绍下Fresco的使用以及一些属性
- 昨天看了一段android配置aspectj实现AOP的直播视频,就试着自己配置了一下,可能是因为我自己的AndroidStudio环境的问
- 有时我们需要判断某个类是否实现了某个接口(Interface),比如在使用反射机制(Reflection)来查找特定类型的时候。简单来说,可
- Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序。官方文档描述:自动配置在 Spring 的默认值之上
- 最近公司的一款产品提交国内市场,发现有些国内市场提示需要进行应用认领。原因就是别人(或者市场抓取)已经在我们之前将这个应用提交到了该市场。认
- 一、叙述当Spring的事件(Application Event)为Bean和Bean之间的消息同步提供了支持。当一个Bean处理完成一个任
- 传统的多分支方式(圈复杂度为6):public String order(String type) { if ("1&
- 配置准备在build.gradle文件中添加如下依赖: compile "org.elasticsearc
- 下面一段代码给大家分享了android中判断手机是否安装了qq或者微信,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧pub
- 本文实例讲述了C#实现的二维数组排序算法。分享给大家供大家参考,具体如下:class Order{ /// <summar
- 最近因为工作的原因用到了西门子PLC,在使用过程中一直在思考上位机和PLC的通讯问题,后来上网查了一下,找到了一个专门针对S7开发的一个.n
- 本文实例为大家分享了C语言实现字符串拼接和拷贝的具体代码,供大家参考,具体内容如下字符串拼接:#include<stdio.h>
- 这篇文章主要介绍了SpringBoot Jpa分页查询配置方式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 在Winform开发中中,我们为了方便客户选择,往往使用系统的字典数据选择,毕竟选择总比输入来的快捷、统一,一般我们都会简单封装一下,以便方
- 通过Canvas的平移与旋转简化绘图逻辑是一个非常有用的技巧,下面的时钟view就是利用这个方法完成的,省去了使用三角函数计算坐标的麻烦。p
- 前言这几天听朋友说JPA很好用,根本不用写sql。我在想一个程序员不写sql还能叫程序员?而且越高级的工具封装越多的工具,可拓展性和效率就非
- 本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示。添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容。导入jar包