【问题标题】:How to route all document requests to Java servlet如何将所有文档请求路由到 Java servlet
【发布时间】:2017-07-16 10:00:44
【问题描述】:

我正在使用 HTTP Servlet 构建一个 Java Web 应用程序,并且我想将所有文档请求路由到一个 Servlet 类。

通过文档请求,我的意思是我不希望将 favicon.ico 之类的图像请求发送到我的 servlet,如果我只使用此映射,就会出现这种情况。

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

我所做的工作与 Symfony(php 框架)控制器层非常相似。所以我不知道请求的 URI 会是什么样子,我只知道它会遵循这种模式:/controller[/method]。所以我不能只使用 /action/* 映射。

我不在这里寻找任何 Java MVC 框架,因为这是一项学校作业,所以我必须自己编程。

【问题讨论】:

  • /action* 有什么问题?
  • 问题是,我不知道呼叫地址会是什么样子。因此我引用了 Symfony 控制器层。这都是动态的。因此,您可以使用遵循此模式的任何组合:/controller[/method]。但我承认,我写得不够清楚,我会试着稍微修改一下。

标签: java servlets model-view-controller servlet-filters servlet-mapping


【解决方案1】:

我想通了,这更像是一种解决方法,但我是这样做的。

显然,我只需要将映射更改为 / 而不是 /*

我在 /assets 文件夹中有所有静态内容,因此它不会干扰正常请求。

如果有像 /image.jpg(没有 /assets)这样的无效请求,我自己的代码会将其路由到 404 Controller 类,这在我看来是一种有效的行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-24
    • 2012-12-26
    • 2013-06-09
    • 2013-02-18
    • 1970-01-01
    • 2012-04-03
    • 1970-01-01
    • 2015-06-19
    相关资源
    最近更新 更多