当前位置: 首页 > 知识库问答 >
问题:

Servlet过滤器-来自Servlet的转发请求是否会进入Servlet筛选器?

周育
2023-03-14

如果任何< code>J2EE应用程序直接命中servlet,然后servlet将相同的请求转发给某个< code >。jsp页面。

request.getRequestDispatcher("Login.jsp").forward(request, response);

我有一个带有以下url模式的servlet过滤器

<filter-mapping>
    <filter-name>some_filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

因此,转发的请求是否也会进行过滤。

在我的情况下,它不会到来,这是一个预期的行为。只是想了解这一点。

共有1个答案

乐正心思
2023-03-14

如果要为转发请求调用筛选器映射,则必须将其放在 Web 中.xml

这种支持自Servlet2.4以来就已经存在了。

<filter-mapping>
  <filter-name>myfilter</filter-name>
  <url-pattern>/mypath/*</url-pattern>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>REQUEST</dispatcher>
</filter-mapping>

dispatcher支持的值有:

>

  • 请求:请求直接来自客户端。这由表示

    FORWARD:请求正在表示与< code >匹配的Web组件的请求调度程序下进行处理

    INCLUDE:请求正在表示与< code >匹配的Web组件的请求调度程序下进行处理

    错误:正在使用“错误处理”中指定的错误页机制处理的请求与<code>匹配的错误资源

    异步:使用“异步处理”中指定的异步上下文调度机制处理请求,并使用调度调用将其发送到web组件。这由表示

  •  类似资料:
    • 主要内容:请求转发,request 域对象,示例Web 应用在处理客户端的请求时,经常需要多个 Web 资源共同协作才能生成响应结果。但由于 Serlvet 对象无法直接调用其他 Servlet 的 service() 方法,所以 Servlet 规范提供了 2 种解决方案: 请求转发 请求包含(了解即可) 下面我们主要对请求转发进行介绍。 请求转发 请求转发属于服务器行为。容器接收请求后,Servlet 会先对请求做一些预处理,然后将请求传递

    • 编辑-过滤器用于缓存响应。我需要缓存AJAXHandler转发到的各个servlet的响应,而不是AJAXHandler本身最终返回的捆绑响应。

    • 问题内容: 如何使用Servlet过滤器来更改来自的传入Servlet请求网址 至 ? 问题答案: 实施。 在方法中,将传入内容强制转换为。 用抢的路径。 使用简单的方法,如,,c等提取感兴趣的部分,构成了新的路径。 使用或然后将请求/响应转发到新的URL(服务器端重定向,不反映在浏览器地址栏中),或将传入的内容强制转换为然后将响应重定向到新的URL(客户端重定向,反映在浏览器地址栏)。 注册过滤

    • 问题内容: Servlet和Filter有什么区别?您建议使用什么来授权页面? 问题答案: 当你要根据特定条件过滤和/或修改请求时,请使用。使用时要控制,预处理和/或后处理请求。 在Java EE的教程中提到有关筛选如下: 筛选器是可以转换请求或响应的标头和内容(或两者)的对象。过滤器与Web组件的不同之处在于,过滤器本身通常不会创建响应。相反,过滤器提供的功能可以“附加”到任何类型的Web资源。

    • Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。调用 Servlet 前调用所有附加的 Servlet 过滤器。 Servlet 过滤器是可用于 Servlet

    • 我正在研究一个合作医疗系统。 我的代码在url调用的servlet的