Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >用Spring Boot和Tomcat服务前端内容

用Spring Boot和Tomcat服务前端内容
EN

Stack Overflow用户
提问于 2019-04-25 03:37:18
回答 1查看 910关注 0票数 1

我将创建一个非常典型且不需要资源的frontend+backend项目,我的一般问题是如何更好地组织它。

后端部分提供了REST,这里将使用Java和Spring。嵌入Tomcat或部署战争的问题仍然没有解决。我宁愿发动一场战争,除非另一种选择对我的情况有好处。对于开发,我使用Eclipse和Maven,最终所有这些都将在RHEL上工作。

前端部分是实现访问API的UI的web应用程序。我要用的是反应。

教程的数量建议使用前端-maven-插件通过Spring (使用节点和隐藏下的npm )为前端内容提供服务。这个看起来很好而且很紧凑。因此,我们有一个web应用程序:

代码语言:javascript
代码运行次数:0
复制
http://my.domain:8080/index.html

访问API的网址是:

代码语言:javascript
代码运行次数:0
复制
http://my.domain:8080/api/...

但到目前为止,我发现没有人建议在默认的http端口(80)上运行web应用程序:

代码语言:javascript
代码运行次数:0
复制
http://my.domain/index.html

我认为这是真正生产的必要条件。

还有一些方法可以将调用从端口80重定向到8080,但这看起来不像是一个棘手的补丁吗?Apache本身可以(显然)配置为在端口80上运行,但这对我来说也不太好。

那么,有没有办法将这样一个项目组织成一个整体(最好由Spring和Tomcat来管理),而不是将其各个部分“分散”在不同的独立服务中?

EN

回答 1

Stack Overflow用户

发布于 2019-04-25 04:15:16

您可以使用'webapp‘文件夹和以下配置:

代码语言:javascript
代码运行次数:0
复制
@Configuration
public class MvcConfiguration implements WebMvcConfigurer {


@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**").addResourceLocations("/");
}

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("/index.html");
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55848395

复制
相关文章
艺术上的无尽想象,会以VR/AR的形式“重生”
近日,曾于E3上推出过AR艺术展览《Unreal Garden》的Enklu,在美国旧金山成立了一家线下AR艺术展馆E.den。
VRPinea
2019/10/08
1.2K0
艺术上的无尽想象,会以VR/AR的形式“重生”
SAP全球副总裁、中国区总经理李强:未来,产品会以服务形式提供,服务会以大数据形式驱动
2016中国互联网大会全域大数据应用论坛于6月21日在北京国际会议中心举行。SAP全球副总裁、中国区总经理李强就SAP工业4.0以及中国企业的数字化转型发表了自己的看法。他讲到,未来,绝大多数的产品都
数据猿
2018/04/19
7660
SAP全球副总裁、中国区总经理李强:未来,产品会以服务形式提供,服务会以大数据形式驱动
达·芬奇的机械骑士梦想 RPA会以何种形式实现?
人们无法确定这个机械骑士是否被建造出来,但在不同的文化和时代里,我们都可以看到很多人类试图创造机器人的记录。
科技云报道
2022/04/16
3880
达·芬奇的机械骑士梦想 RPA会以何种形式实现?
以代码的形式构建 Jenkins
在我们公司,我们尝试使用‘一切事物即代码’的模式,该模式涉及到可复制的基础架构,监控,任务等方面。但是在这篇文章当中,我将向你展示怎样将这种模式运用到 Jenkins 上。是的,我的意思是对于 Jenkins 完全可复制的配置,以及基础架构、插件、凭据、任务以及代码中的其他东西。另外,这篇文章你将解惑下面的疑问:
LinuxSuRen
2020/04/16
1.5K0
以代码的形式构建 Jenkins
C++之以分隔符的形式获取字符串
void CConvert::Split(const std::string& src, const std::string& separator, std::vector<std::string>& dest) //字符串分割到数组 {
用户3519280
2023/07/06
3320
以 Serverless 应用的形式交付 SaaS 服务
01. Serverless 应用开发范式 随着 2013 年 Serverless 概念的提出,FaaS 函数即服务的开发范式因以下特点逐渐成为开发首选: 1. 快速开发,快速部署; 2. 按量付费,降低成本; 3. 自动扩容,无需维护。 腾讯云 SCF 云函数于 2017 年推出,到现在已服务超百万开发者,随着业务规模增长,业务逻辑的复杂度变高,开发者往往需要通过编排组合多个函数,结合 COS 对象存储、API 网关、DB 数据库等云上资源才能完成一个完整的应用开发。因此我们于 2019 年联合业界广
腾讯云serverless团队
2021/08/05
1.2K0
操作以整数形式实现的位串
要将现有位串中的位设置为 1,请使用 $zboolean 函数(逻辑 OR)的选项7 (arg1 ! arg2):
用户7741497
2022/08/03
4530
以脚本形式运行python库
这一个条目的意思是,我们可以使用python3 -m这样的指令,在终端的命令行内运行python的一些仓库。比如我们常用的pip,就可以通过python3 -m pip install numpy这样的操作指令来运行。还有一个比较常见的上传python编译安装包到pypi网站上面的工具twine,可以通过python3 -m twine的方法来使用。本文我们主要探讨一下如何在代码中,实现python3 -m 这种命令行运行的模式。
DechinPhy
2022/09/02
1.1K0
以脚本形式运行python库
props的字符串数组形式和对象形式
以字符串数组形式列出的 props: props: ['userCode', 'userName', 'placehodler'] 希望每个 prop 都有指定的值类型。这时,你可以以对象形式列出 props 以对象形式的props: props: { array: { type: Array, default () { return [] } }, object: { type: Obj
xyzzz
2020/11/14
2K0
React字符串形式的ref
在React中,我们可以使用字符串形式的ref来引用组件或DOM元素。字符串形式的ref是一种较早的ref使用方式,它允许我们通过字符串将ref与组件或DOM元素进行关联。
堕落飞鸟
2023/05/19
5310
pandas read_csv、read_excel 以文本形式读取零开头的纯数字字符
在转换高德地图城市编码的过程中,有很多城市编码开头是 0,当我转成 json 的时候,出来的结果是直接吧 数字前面的 0 去掉了,不符合预期。所以此时需要对列转类型。
卓越笔记
2023/02/18
1.8K0
pandas read_csv、read_excel 以文本形式读取零开头的纯数字字符
掌握 PlantUML:以代码的形式绘制 UML 图表
如果你是一名软件开发人员,项目经理,或者与软件系统设计和开发相关的专业人员,那么你可能已经知道统一建模语言 (UML) 图的价值。UML 图是强大的视觉工具,它们可以帮助我们更好地理解,设计和沟通复杂的软件系统。然而,手动绘制和更新 UML 图可能会非常耗时,并且难以维护。这就是 PlantUML 发挥作用的地方。
运维开发王义杰
2023/08/10
9160
掌握 PlantUML:以代码的形式绘制 UML 图表
nodejs+koa以流的形式返回数据
需求背景: 项目中有多处下载数据的地方,有时候遇到几百万条数据,一口气返回的话,可能会导致内存不够用。
黒之染
2021/02/05
3.5K0
Kafka 架构中 ZooKeeper 以怎样的形式存在?
Kafka 运行环境还需要涉及 ZooKeeper,Kafka 和 ZooKeeper 都是运行在 JVM 之上的服务。但是Kafka架构中 ZooKeeper 以怎样的形式存在?
码农架构
2021/03/10
2.4K0
Kafka 架构中 ZooKeeper 以怎样的形式存在?
【说站】python读取csv的不同形式
python读取csv的不同形 1、以列表的形式读取csv数据 编写一个读取 csv 文件的程序: import csv   csvfile = open('./data.csv', 'r') reader = csv.reader(csvfile)   for row in reader:     print(row) import csv将导入Python自带的csv模块。 2、以字典的形式读取csv数据 import csv   csvfile = open('./data.csv', 'r')
很酷的站长
2022/11/23
5010
【说站】python读取csv的不同形式
查询字典码,并且以值的形式进行返回
在加入到数据库的时候,对应的字段是代码编号,但是查询的时候,我们要展示,不能只是展示编号,要展示的是编号对应的具体的值,所以,我们需要在xml里面进行套语句。也就是在查询语句里面套
一写代码就开心
2020/11/20
1.5K0
Spring Boot 2 实战:以 War 包的形式部署
Spring Boot 提供了内置的 tomcat、undertow、jetty 三种 Servlet Web 容器。让我们开箱即用,可以迅速以 JAR 启动一个 Web 应用。但是在某些场景中我们可能还需要将我们的 Spring Boot 容器以 War 的形式进行传统的部署。这时我们就需要通过借助于 SpringBootServletInitializer 来实现。
码农小胖哥
2019/12/09
1.2K0
为什么浏览器的用户代理字符串以 Mozilla 开头?
为什么浏览器的用户代理字符串(user-agent string)以 Mozilla 开头? 最早流行的浏览器是 NCSA Mosaic,它称自己为 NCSA_Mosaic/2.0 (Windows
前端教程
2018/03/29
1.4K0
为什么浏览器的用户代理字符串以 Mozilla 开头?
[日常] Go语言圣经--复数,布尔值,字符串习题
1.我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。两种精度的复数类型:complex64和complex128,分别对应float32和float64两种浮点数精度
唯一Chat
2019/09/10
5980
[日常] Go语言圣经--复数,布尔值,字符串习题
点击加载更多

相似问题

为什么我的Python代码会以字符串的形式读取每一行?

31

为什么JavaFx PasswordField会以字符串的形式返回内容?

21

为什么TextInfo.ListSeparator会以字符串的形式返回?

13

以字符串形式读取文件

75

为什么ContentPlaceHolder会以表格的形式呈现?

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文