【问题标题】:Can jsp:include pages pass through filtersjsp:include 页面能否通过过滤器
【发布时间】:2011-09-13 21:52:08
【问题描述】:

我有一个 jsp 页面,其中通过 jsp:include 包含一个 jsp 页面。 现在的问题是对包含的jsp的请求是否通过过滤器? 以下是我在 web.xml 中的过滤器映射

    <filter-mapping>
    <filter-name>XYZFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

但这似乎不起作用。过滤器不会被包含的 jsp 调用。 我做错了什么还是有可能?

【问题讨论】:

    标签: jsp servlets servlet-filters jspinclude


    【解决方案1】:

    这应该可行。 &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt; 在您的过滤器映射中表示还包括用于包含调度的过滤器。

    调试你的代码,其他地方出错了。

    【讨论】:

      【解决方案2】:

      &lt;dispatcher&gt; 支持是在 Servlet 2.4 中引入的。因此,当它不起作用时,可能意味着您正在过时的 Servlet 2.3 容器(例如 Tomcat 5.0)上运行您的 webapp,或者您的 web.xml 是按照 Servlet 2.3 DTD 声明的或者没有特定于版本的声明将强制容器退回到最低兼容性模式。

      请确保您的 web.xml 声明符合目标运行时支持的最大 Servlet API 版本。例如,如果您的目标运行时是 Tomcat 6.0,它是一个 Servlet 2.5 容器,那么您应该声明 web.xml 符合 Servlet 2.5:

      <?xml version="1.0" encoding="UTF-8"?>
      <web-app 
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://java.sun.com/xml/ns/javaee" 
          xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
          id="WebApp_ID" version="2.5">
      
          <!-- Your config here -->
      </web-app>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-06
        • 2014-01-07
        • 2021-01-24
        • 2019-03-04
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多