我是DW的新手(使用0.8.5),正在尝试实现一个小型DW应用程序,该应用程序既可以作为web应用程序(提供静态和动态页面的混合服务),也可以为API客户端公开一些REST端点。
目前我有从根上下文提供的应用程序(http://localhost:8080对于本地和http://dev.myapp.example.com用于dev)。我正试图弄清楚如何制作一个映射到根上下文("/")的静态主页(index.html),以及映射到/contact的"联系我们"风格的静态页面(contact.html)。
这是我想要的URL策略:
http://localhost:8080/ --> index.html (my static homepage)
http://localhost:8080/contact --> contact.html (static contact page)
http://localhost:8080/app/* --> dynamic web pages, using DW Views & Freemarker
http://localhost:8080/api/* --> REST endpoints under here
我发现这个博客真的让我很困惑,因为在0.8.5中似乎没有明确的方法来做到这一点。有人能解释一下实现这一目标所需的步骤吗?最好使用代码示例或GitHub要点?我认为这会帮助很多人。
听起来我需要添加AssetsBundle,但我不知道如何完全配置它,也不知道在我的应用程序中放置静态HTML文件的位置。想法?
我迄今为止最好的尝试:
- 在
initialize()
中添加bootstrap.addBundle(new AssetBundle())
- 在
src/main/resources/assets/
下放置所有静态触点(index.html
、contact.htm
等)
但是,我正在努力将src/main/resources/assets
中的静态HTML文件与我想要的URL进行映射,尤其是以这样一种方式,即它们不会与动态视图/页面或REST资源/端点发生冲突。想法?
似乎AssetBundle
和ConfigurableAssetBundle
是而不是DW>0.8.x中的方法。
相反,只需像使用动态视图一样使用Dropwizard Views捆绑包,只需将HTML文件重命名为FTL或胡子文件(例如,index.ftl
而不是index.html
等)。