java-过滤器在Struts2中不起作用

由于某些未知原因,我无法在struts2上使用过滤器.我正在使用apache tomcat并使用过滤器来限制用户访问(我更喜欢而不是拦截器).我的/ tela-paciente请求没有被过滤的原因是什么?

   <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <filter>
        <filter-name>Paciente</filter-name>
        <filter-class>br.ufg.inf.sas.filtros.FiltroPaciente</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>Paciente</filter-name>
        <url-pattern>/tela-paciente</url-pattern>
    </filter-mapping>

解决方法:

您是否尝试过将过滤器映射设置为“ / tela-paciente / *”(< url-pattern> / tela-paciente / *< / url-pattern>)?

您的问题是tomcat问题,在与struts相关的特定映射中没有任何内容.

史蒂文·贝尼特斯(Steven Benitez)的以下说法是正确的-我很糟糕(“没有人会进入您的安全筛选器”).

有关过滤器的更多常规信息:除非过滤器之一通过不调用过滤器链来停止处理,否则它们将被处理(在此处可能是这种情况-这应该是一件罕见的事情,仅在处理异常,重定向URL或防止页面加载).您可以根据需要将任意数量的过滤器绑定到重叠的URL集.

上一篇:简单的flask小程序


下一篇:javascript-jQuery和默认struts 2以一种形式提交按钮