gpt4 book ai didi

java - 如何在我的 Java Web 应用程序中提供 Dart html 文件?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:04:43 25 4
gpt4 key购买 nike

我有一个 Web 应用程序并且正在使用 Maven。我没有在项目中实现 Spring MVC。

该项目有一个已实现的 REST Controller ,并且运行良好。我需要将 Google Dart 集成到应用程序中。

我正在使用这个 dart-maven-plugin我在“src/main/dart”下有 Dart 代码。现在我已经抛出了 Dart 教程代码(海盗徽章),我正在努力让它发挥作用。

这些是src/main/dart下的文件

  • 海盗徽章.css
  • 海盗徽章.dart
  • 海盗徽章.html
  • 海盗徽章.json
  • pubspec.yaml

我希望能够将项目 .war 文件部署到 Tomcat 中并能够访问 localhost:8080/testapplication/piratebadge.html

我需要将这个 html 文件添加到我的 web.xml 中吗?

这里是供引用的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>TestProject</display-name>

<servlet>
<servlet-name>controller</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>test.controller</param-value>
</init-param>
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>controller</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>

最佳答案

我已经有很长时间没有使用 Java/Maven 了。

基本上您可以在任何目录中开发您的 Dart 应用程序。您只需使用 pub build 生成可部署文件并将输出(在 build/web 中生成)视为 Java/Maven 项目中的任何静态内容。

在开发过程中会稍微复杂一些。如果您可以在服务器应用程序中设置跨源 header ,则可以连接到 Java REST 服务器。您只需维护两个配置,在其中您连接回 Dart 应用程序在生产环境中使用相对 URL 加载的服务器,但在开发环境中您必须使用绝对 URL。

为此你可以使用类似 Dart: How to use different settings in debug and production mode? 的东西

您还可以将 Dart 源包目录放在 Java 项目中,并将其视为静态内容。但是路径仍然不同,因为开发是在 yourpackage/web 中进行的,构建输出是在 yourpackage/build/web 中生成的。

当 Dart 应用程序由您的 Java 应用程序提供服务时,您必须使用特定的 Launch 配置才能进行调试。此处提供更多信息:Dart best practices for develop and production

关于java - 如何在我的 Java Web 应用程序中提供 Dart html 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23745766/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com