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

时间:2014-05-19 19:33:07

标签: java web-services maven tomcat dart

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

该项目有一个实现的REST控制器,工作正常。 我需要将Google Dart集成到应用程序中。

我正在使用此dart-maven-plugin,我在“src / main / dart”下面有Dart代码。现在我已经抛出Dart教程代码(盗版徽章),我正试图让它工作。

这些是src / main / dart

下的文件
  • piratebadge.css
  • piratebadge.dart
  • piratebadge.html
  • piratebadge.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>

1 个答案:

答案 0 :(得分:1)

自从我使用Java / Maven以来已经有很长一段时间了。

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

在开发过程中它有点复杂。如果可以在服务器应用程序中设置跨源头,则可以连接到Java REST服务器。您只需要维护两种配置,在这些配置中,您可以使用相对URL连接到生产中加载Dart应用程序的服务器,但在开发中,您必须使用绝对URL。

为此你可以使用像Dart: How to use different settings in debug and production mode?

这样的东西

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

从Java应用程序提供Dart应用程序时,您必须使用特定的Launch配置才能进行调试。 这里有更多信息:Dart best practices for develop and production