【问题标题】:Defining servlet url patterns using regular expressions on Google App Engine platform在 Google App Engine 平台上使用正则表达式定义 servlet url 模式
【发布时间】:2011-08-27 22:20:49
【问题描述】:

我在谷歌应用引擎中工作,我正在尝试像这样设置我的 servlet:

/action_X/someIdString_32joi32joifj32

会转到一个 servlet,而...

/action_X/subAction_A/someIdString_wjiefoapjfew

将转到另一个 servlet,专门用于处理 subAction_A

如何在我的 web.xml 中定义它以实现这一点?我使用 url-regexp 在 google 上找到了一些东西,但这看起来不再受支持,或者至少不在我使用的平台上(Google App Engine,来自 Eclipse 插件的 Web 应用程序项目)。

关于如何在 Google App Engine 中执行此操作有什么建议吗?我似乎找不到一种干净的方法来做到这一点,而不必自己编写代码来解析 url。我应该只制作一个 servlet,将所有内容映射到该 servlet,然后自己重​​写吗?

【问题讨论】:

    标签: java google-app-engine servlets


    【解决方案1】:

    你不能。 servlet url 映射支持非常有限。你可以:

    • 使用UrlRewriteFilter
    • 使用 spring-mvc(或其他 action web 框架)来定义控制器方法模式
    • 自己提供解析逻辑,如果很简单,只是个别情况

    【讨论】:

    • 至于第三个选项,请注意您希望为此使用过滤器,而不是 Servlet。
    • UrlRewriteFilter 正是我正在寻找的。它甚至可以做我什至不知道自己想做的事情!
    • 这在我的本地主机上运行,​​但是当我部署到 Google App Engine 时我得到了 404。我在我的部署中包含了所有 .xml 文件。您是否碰巧有在应用引擎中进行设置的经验?
    • 没关系。我不知道为什么;但提供的默认状态页面在应用引擎中不起作用。我将 /test/status/ 重定向到我的 servlet 并测试了映射。它似乎工作正常。
    猜你喜欢
    • 2012-01-30
    • 1970-01-01
    • 2015-02-19
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多