当前位置: 首页 > 面试题库 >

排除子目录的过滤器映射url模式

吴丁雷
2023-03-14
问题内容

有什么办法可以使过滤器映射不包括子目录?

例如。

我的上下文根目录中有.xhtml文件,并且我还有一个名为“
test”的子文件夹,其子文件夹具有相同的扩展名。是否可以将过滤器映射到上下文根目录中的文件,而不映射到“ test”目录中的文件?


问题答案:

url- pattern是匹配确实是限制。它仅允许精确,前缀或后缀匹配。不是中间/整体/正则表达式匹配。因此,例如/*.xhtml,您打算做的事情行不通。

如果只想在/test文件夹中排除XHTML ,那么最好的办法就是Filter监听,基本上在方法url- pattern*.xhtml可以完成以下工作doFilter()

// First cast ServletRequest to HttpServletRequest.
HttpServletRequest hsr = (HttpServletRequest) request;

// Check if requested resource is not in /test folder.
if (!hsr.getServletPath().startsWith("/test/")) {
    // Not in /test folder. Do your thing here.
}

所述HttpServletRequest#getServletPath()基本上返回从上下文路径请求URI的一部分。

如有必要,您可以将值配置/test<init-param>过滤器的,以便您可以从中控制值,web.xml而不是在过滤器的代码中进行控制。



 类似资料:
  • ExtendedService内部: 但是当我开始时,我得到无效的Bean定义,因为myService是绑定错误。如何排除原来的MyService? 例外情况: 原因:org.springframework.beans.factory.support.beandefinitionoverrideException:URL[file:svc.xml]中定义的名为“My Service”的bean定义

  • 问题内容: 如果我点击/ test / page,以上方法将起作用。但是,打/ test或/ test /将不起作用。我正在使用Spring MVC,我的请求映射如下: 编辑: 我正在通过一个独立的项目进行验证,但这似乎是Spring的UrlPathHelper的一个错误。当同时存在上下文和servlet路径时,以下方法将返回错误的路径,并且你在打servlet时不带斜杠。 举例来说,我有一个“

  • 我刚开始使用RxJava/RxAndroid,在理解如何正确处理背压方面有一些问题。 我有一个文件扫描器,可以扫描目录并发出文件。应尽快处理这些文件,并且不跳过任何文件。 所以管道看起来像这样:<代码>可观察 不幸的是,我收到了rx。例外情况。缺少背压异常错误。所以我读了关于背压的书,如果我理解正确的话,无损耗选项只是缓冲区和窗口。 我试过了BackPressureBuffer()、buffer(

  • servlet过滤器映射中的url模式能否指向另一个域中的servlet? 在url模式中,put/*将使此筛选器应用于应用程序中的所有servlet。有没有办法在另一个域/应用程序中为servlet应用过滤器?如果是这样,我应该使用什么样的url模式。 我尝试把完整的路径到域名和servlet,但抛出一个错误,我的应用程序没有启动。

  • 假设我有一张房间清单 每个房间都有一份人员名单。 使用java8 streams,我想迭代房间列表,获取所有人员,在每个节点上执行一些方法(doSomething()),并获取所有过滤对象的列表。 这是使用java 8的最佳实践吗?