【问题标题】:Invalid <url-pattern> jsp/* in filter mapping in eap 6.4eap 6.4 中的过滤器映射中的 <url-pattern> jsp/* 无效
【发布时间】:2019-06-26 11:19:38
【问题描述】:

我检查了所有其他与 url-pattern 相关的问题,但它们并没有解决我的问题。所以这里是:

我在web.xml中有如下定义:

<filter-mapping>
  <filter-name>ManageFilter</filter-name>
  <url-pattern>/jsp/*.do</url-pattern>
</filter-mapping>

启动时抛出异常。话说:

 Invalid <url-pattern> /jsp/* in filter mapping

我试过不同的版本如下:

 <url-pattern>jsp/*.do</url-pattern>

但它不起作用。正在引发相同的错误。

我怎样才能让它工作?或者这个 url-pattern 的工作版本是什么?

谢谢。

完整的异常消息:

        15:32:52,179 ERROR [org.apache.catalina.core] (ServerService Thread Pool -- 81) JBWEB001097: Error starting context /E_LifePensionWeb: java.lang.IllegalArgumentException: JBWEB000278: Invalid <url-pattern> /jsp/*.do in filter mapping
            at org.apache.catalina.core.StandardContext.validateFilterMap(StandardContext.java:2030) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:1972) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.jboss.as.web.deployment.JBossContextConfig.processWebMetaData(JBossContextConfig.java:413) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at org.jboss.as.web.deployment.JBossContextConfig.applicationWebConfig(JBossContextConfig.java:267) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:369) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:162) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.jboss.as.web.deployment.JBossContextConfig.lifecycleEvent(JBossContextConfig.java:260) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:115) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.apache.catalina.core.StandardContext.start(StandardContext.java:3720) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
            at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_80]
            at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_80]
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_80]
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_80]
            at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_80]
            at org.jboss.threads.JBossThread.run(JBossThread.java:122)

【问题讨论】:

  • 尝试仅使用jsp/*
  • 让我进一步解释一下,以使大局清晰。我有两个过滤器,一个是过滤所有 .do 文件,另一个我遇到问题的是仅在子文件夹下处理 .do 文件。因此,必须由 managefilter Filter 类过滤的 .do 文件位于 JSP 子文件夹下。问题是我不能同时给 url-pattern 提供子文件夹和 .do 前缀等,因为它给了我错误 Invalid url-pattern。谢谢。
  • 我通过为所有 do 文件提供一个带有全名的单独过滤器映射解决了这个问题。但是现在 REQUEST 对象(httpsservletrequest)在从 action 转发到 jsp 到 filter 的过程中消失了。我认为这与struts bean设置有关。你知道吗?
  • 你能分享代码并详细说明你的问题吗?
  • 嗨,我问了一个新问题。 stackoverflow.com/questions/56835084/…

标签: jboss


【解决方案1】:

通过在 web.xml 中分别给出所有 .do 路径来解决问题

谢谢

【讨论】:

    猜你喜欢
    • 2015-09-14
    • 2020-04-11
    • 2012-07-23
    • 2010-09-06
    • 2015-10-04
    • 2015-09-13
    • 2015-10-10
    • 2014-08-15
    • 2016-06-10
    相关资源
    最近更新 更多