【问题标题】:servlet filter for url rewriting makes gwt page getting 404用于 url 重写的 servlet 过滤器使 gwt 页面变为 404
【发布时间】:2023-03-14 12:00:01
【问题描述】:

我有一个 GWT 应用程序/application.html

为了方便访问(和 SEO),我希望像 /station/fr/foo 映射一样重写网址

我正在尝试使用这样声明的 servlet 过滤器

url-pattern : /station/*

在这个过滤器中,我拆分部分 url 来为目标 url 构建参数:

我愿意:

request.getRequestDispatcher( targetUrl ).forward( request, response);

但它似乎尝试访问 /station/Application.html 然后 404

[ =========== 从这里编辑 =========== ]

嗯,知道了,自从这个问题,我明白了一些事情:到达了html页面,但是尝试在/station/中加载他的资源(css,js,img)

此行为由浏览器完成 (!)

如果我有 <base href="http://servername/"> 它可以工作,但我无法再让开发模式工作......

有没有办法透明地动态修改响应以更改 html 源中的路径?

【问题讨论】:

    标签: gwt url-rewriting servlet-filters


    【解决方案1】:

    您正在寻找将托管码头模式和 tomcat/部署模式下的应用程序路径修复为相同 - 尝试https://groups.google.com/d/topic/google-web-toolkit/a8OsRmMSaMg/discussion

    <?xml version="1.0"  encoding="UTF-8"?> 
    <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" 
    "http://jetty.mortbay.org/configure.dtd"> 
    <Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
    
            <Set name="contextPath">/yourapp</Set> 
    
    </Configure> 
    

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2012-12-20
      • 1970-01-01
      • 1970-01-01
      • 2013-09-02
      • 2016-01-20
      • 2013-08-13
      • 2015-08-02
      • 2011-07-25
      相关资源
      最近更新 更多