Angular 应用程序部署在 tomcat 上作为战争

2024-02-15

我想部署一个单页应用程序 (SPA)用 Angular 编写,带有一堆静态文件,包括 *.css,.js,/资产/在 tomcat 上的一个 war 文件中。

问题是,用户给出的每个与现有文件之一不匹配的路径都应该传递index.html。

我从这个 web.xml 配置开始:

[...]
  <servlet>
    <servlet-name>index</servlet-name>
    <jsp-file>/index.html</jsp-file>
  </servlet>
  <servlet-mapping>
    <servlet-name>index</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
  [...]

不幸的是这个index还匹配现有的静态文件。

您知道如何解决这个问题吗?


每个不匹配任何文件的路径都会传递 404 错误代码

工作 web.xml:

[...]
<error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
</error-page>
[...]

在每个未找到的页面上,它将重定向到index.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 应用程序部署在 tomcat 上作为战争 的相关文章

随机推荐

  • 如何使用c++获取文件夹中的所有图像

    我有个问题 我正在使用 openCV 库编写 C 我想获取文件夹中所有图像的数量 并且想加载文件夹中的所有图像以在 C 中进行处理 您可以使用glob http docs opencv org ref master db de0 group
  • Xcode_OSX/Swift_NSPopUpButton。

    我对此非常陌生 所以请记住这一点 我整晚都在这儿 看了无数视频 闹鬼 无数的论坛 我找不到一个答案 我正在尝试在 Swift OSX 中制作一个基本的弹出菜单我需要弄清楚的是 如何向此菜单添加 三项 以上的内容 无论在弹出窗口中选择什么 该
  • android-O:应用程序因 webview 崩溃

    我只是简单地放了一个WebView在布局中 当我在 Android O 预览模拟器中运行该项目时 出现以下错误 E AndroidRuntime FATAL EXCEPTION main Process com example mvvmre
  • 如何正确测量CUDA时间?

    我试图正确测量并行和顺序执行的时间 但我有疑问 因为 假设我们有以下代码 get the time clock t start finish double totaltime start clock double d A d B d X c
  • PL SQL 中多个参数的逗号分隔查询

    到目前为止 我可以在 PLSQL 中查询逗号分隔的 IN 参数 参考在 PL SQL 中使用逗号分隔的 IN 参数进行查询 https stackoverflow com questions 33126779 query with comm
  • json.dumps 和 json.load 有什么区别? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 有什么区别json dumps and json load 根据我的理解 一个将 JSON 加载到字典中 另一个加载到对象中 dumps h
  • 如何查找数组中所有出现的元素的索引?

    我试图在 JavaScript 数组中查找元素 例如 Nano 的所有实例的索引 var Cars Nano Volvo BMW Nano VW Nano I tried jQuery inArray http api jquery com
  • 使用 UTF8

    使用 std string 和 UTF8 似乎是一个相当复杂的问题 我找不到该做什么和不该做什么的很好的解释 如何在 C 中正确使用 UTF8 这是相当令人困惑的 我发现了boost locale我设置了全局区域设置 std locale
  • 如何在 MATLAB 中连接向量以创建非矩形矩阵?

    有没有办法创建非矩形矩阵 例如 如果我有一个矩阵a 6 8 10 和另一个矩阵b 1 5 我可以垂直连接它们以获得 6 8 10 排成一排并且 1 5 在另一个 直接的答案是no MATLAB 不支持参差不齐的或非矩形或非方阵 http e
  • ant junit 任务——在哪里下载 ant-junit.jar 并把它放在哪里?

    我实际上浪费了 2 个小时试图让 ant junit 任务正常工作 首先 我很难找到ant junit jar文件 但我设法在 Maven 页面中找到它 之后我把它放在几个地方 ant lib usr share ant lib 但运气不好
  • VueJs Typescript 忽略模板块中的 Typescript 错误

    在我的 VueJs 应用程序中 一切都按预期工作 唯一让我烦恼的是我的模板块中的打字稿错误 是否有类似于我在脚本块中执行的操作的选项
  • 如何从猫鼬数组中获取数据?

    我是 mongoose node js 和 mongoDB 的新手 我有一个像这样的数据库架构 Project projectName String projectManager String task taskName String ti
  • 如何在 Windows 上使用 cmd 查看屏幕亮度?

    我正在编写一个代码 可以根据用户输入更改屏幕亮度 但这是基于当前屏幕亮度的 有没有办法从命令提示符获取屏幕亮度的整数 过去我曾尝试使用 cmd 中的电源配置实用程序来执行此操作 但失败了 我尝试查找它 但没有找到任何适用于 Windows
  • 为什么或如何证明 JavaScript 数组相等?

    In 这个答案 https stackoverflow com a 8618383 7329有一个简单的函数可以返回包含原始值的数组的数组相等性 但是 我不确定它为什么有效 这是函数 function arrays equal a b re
  • Servlet 上的主机 IP 地址 0:0:0:0:0:0:0:1

    我正在尝试使用以下命令获取用户主机 IP 和端口 request getRemoteHost request getRemoteAddr request getRemotePort 但我得到 Host 0 0 0 0 0 0 0 1 IP
  • 如何在 Swift 中循环遍历 数组的元素

    我是 Swift 新手 想要循环遍历一系列MKMapPoints
  • Python/Flask:如何判断用户在页面上花费了多长时间? (数据输入/时间记录应用程序)

    我已经看到了使用 Javascript 查看用户在页面上花费多长时间的答案 但我缺乏 JS 知识 更不用说将 JS 集成到我的 Python Flask 框架中 我的目标是创建一个 Web 应用程序 用户可以在其中输入数据 同时记录执行任务
  • gmail 正在修改传入邮件的标头(消息 ID)

    我从我的 smtp 服务器发送了一封邮件到 gmail 我得到的消息 ID 是 消息 ID SMTPIN ADDE 电子邮件受保护 cdn cgi l email protection gt X Google 原始消息 ID Gmail 在
  • 从可区分联合属性到对象类型的映射

    我有一堆对象 它们都有一个属性来区分它们 我将它们作为联合类型 现在我想创建从可区分属性到实际类型的映射 我可以自己制作它 但它是两面性的并且容易出错 所以我想知道是否有某种方法可以使用 TypeScript 以编程方式生成它 type X
  • Angular 应用程序部署在 tomcat 上作为战争

    我想部署一个单页应用程序 SPA 用 Angular 编写 带有一堆静态文件 包括 css js 资产 在 tomcat 上的一个 war 文件中 问题是 用户给出的每个与现有文件之一不匹配的路径都应该传递index html 我从这个 w