java - HTML5 历史记录服务器端支持的 URL 重写

标签 java guice html5-history

假设我们有一个使用 HTML5 History API 的单页 (index.html) Web 应用程序在客户端提供对以下 URL 的访问:

www.myapp.com/
www.myapp.com/screen1
www.myapp.com/screen2

我们如何在服务器端提供对 screen1screen2 的支持?

最佳答案

使用Guice ,我们需要配置服务器来为 HTML5 URL 调用 RouteServlet:

serve("/screen1", "/screen2").with(RouteServlet.class);


RouteServlet.java

@Singleton
public class RouteServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        req.getRequestDispatcher("index.html").include(req, resp);
    }

}

关于java - HTML5 历史记录服务器端支持的 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20758541/

相关文章:

java - 如何制作Tomcat流媒体?

java - 如何使用 Guice 检索给定接口(interface)的多重绑定(bind)实现集

javascript - Facebook 聊天框不会在页面之间重新加载

javascript - 为什么在使用相同的 location.href(或空)推送时 window.onpopstate 上的 event.state 为空

java - 在32位Windows中从Java获取超过2GB计算机的总物理内存大小

java - 如何使用 ReentrantReadWriteLock 等待数据?

guice - 使用 Kotlin 和 Guice 注入(inject)实例失败

nginx - Vue 路由器 : access page directly from browser address bar

java - 无法将 JSON 解析为 recyclerview

java - 带有注入(inject)服务的 REST 端点 - 在哪里抛出自定义 WebServiceException?