Jetty 码头';s DispatcherType(和1000个其他未记录的内容)

Jetty 码头';s DispatcherType(和1000个其他未记录的内容),jetty,Jetty,谁能告诉我,你在干什么 似乎是一个重要的配置 类的使用对我也没有帮助,因为它指向了一些东西,例如,用明智的词语“记录”了这些东西:添加过滤器的便利方法 一般来说,有没有机会“理解”未记录的Jetty API而无需代码示例搜索乐趣或尝试失败和疑惑?这也是web.xml中的一个设置;而且可能已经存在了相当长的一段时间 为转发或包含目标配置筛选器 本节提供了一些示例配置,以使过滤器作用于转发或包含目标。我们从过滤器声明开始,然后是可选的过滤器映射配置: <filter> <

谁能告诉我,你在干什么

似乎是一个重要的配置

类的使用对我也没有帮助,因为它指向了一些东西,例如,用明智的词语“记录”了这些东西:
添加过滤器的便利方法



一般来说,有没有机会“理解”未记录的Jetty API而无需代码示例搜索乐趣或尝试失败和疑惑?

这也是web.xml中的一个设置;而且可能已经存在了相当长的一段时间

为转发或包含目标配置筛选器 本节提供了一些示例配置,以使过滤器作用于转发或包含目标。我们从过滤器声明开始,然后是可选的过滤器映射配置:

<filter>
    <filter-name>myfilter</filter-name>
    <filter-class>mypackage.MyFilter</filter-class>
</filter>

我的过滤器
mypackage.MyFilter
要执行MyFilter以筛选名为includedservlet的包含目标,请执行以下操作:

<filter-mapping>
   <filter-name>myfilter</filter-name>
   <servlet-name>includedservlet</servlet-name>
   <dispatcher>INCLUDE</dispatcher>
</filter-mapping>

我的过滤器
includedservlet
包括
请注意,include()调用可以来自应用程序中的任何servlet(或其他资源)。还请注意,MyFilter不会对includedservlet的直接请求执行,除非您有另一个元素具有值request

要执行MyFilter以过滤通过URL模式“/mypath/”直接请求的任何servlet,或要执行MyFilter以过滤通过以“/mypath/”开头的URL模式调用的任何转发目标,请执行以下操作:


我的过滤器
/我的路径/*
向前地
要求
~~~~~~~~~~~~~~~~~~~~~~

另外,默认值是Request;请阅读下页上的appliesTo(…)方法:


除了Asad的回答之外,dispatcher不是Jetty特有的,它是2.5版之前的servlet规范的一部分。以下是dispatcher值的官方说明:


dispatcher有四个合法值:转发、请求、包含、,
和错误。值FORWARD表示将应用过滤器
在RequestDispatcher.forward()下调用。请求的价值
表示将在对的普通客户端调用下应用筛选器
路径或servlet。值为INCLUDE意味着过滤器将
在RequestDispatcher.include()调用下应用。价值
错误表示将在错误页面下应用筛选器
机制。进程中缺少任何调度程序元素
过滤器映射表示默认情况下仅在下应用过滤器
普通客户端对路径或servlet的调用。

好吧,我必须同意,这是有道理的,这个请求是默认的;)
<filter-mapping>
   <filter-name>myfilter</filter-name>
   <url-pattern>/mypath/*</url-pattern>
   <dispatcher>FORWARD</dispatcher>
   <dispatcher>REQUEST</dispatcher>
</filter-mapping>