payara glassfish web xml筛选器url解析

payara glassfish web xml筛选器url解析,url,servlets,glassfish,filtering,payara,Url,Servlets,Glassfish,Filtering,Payara,我有一种下面的过滤器映射我的web xml。但部署失败了。还有别的选择吗?谢谢 <filter-mapping> <filter-name>TestFilter</filter-name> <url-pattern>*.js</url-pattern> </filter-mapping> <!-- this works --> <filter-mapping> <fil

我有一种下面的过滤器映射我的web xml。但部署失败了。还有别的选择吗?谢谢

<filter-mapping>
    <filter-name>TestFilter</filter-name>
    <url-pattern>*.js</url-pattern>
</filter-mapping> <!-- this works -->

<filter-mapping>
    <filter-name>TestFilter</filter-name>
    <url-pattern>/Application/*.html</url-pattern>
</filter-mapping> <!-- this doesn't work with parsing error as below-->

恐怕不支持按后缀和前缀混合映射,如
/Application/*.html
。您需要使用以下模式之一进行映射:

  • /Application/*
    (将映射前缀为
    /Application
    的所有内容)
  • /*.html
    (将映射带有
    html
    后缀的所有内容)
如果要将它们混合在一起,可以通过前缀(第一个选项)映射到代理servlet,代理servlet将解析请求中的URL,并将其转发到相应的servlet,并使用and
forward(req,resp)
,类似于名为
应用程序html
的servlet:

if (request.getRequestURI().endsWith(".html")) {
  request.getServletContext()
    .getNamedDispatcher("application-html")
    .forward(request, response)
}

如果答案对你有帮助,你可以将其标记为正确答案或放弃投票
if (request.getRequestURI().endsWith(".html")) {
  request.getServletContext()
    .getNamedDispatcher("application-html")
    .forward(request, response)
}