【问题标题】:Set custom filter on Tomcat 8 using web.xml使用 web.xml 在 Tomcat 8 上设置自定义过滤器
【发布时间】:2019-10-15 22:58:40
【问题描述】:

我想使用此方法启用 CORS Tomcat 8(自定义过滤器) Tomcat CORS filter

我对在 web.xml 中调用自定义过滤器的步骤感到困惑。

如何设置.java文件?这个文件(SimpleCORSFilter)的目录在哪里?

public class SimpleCORSFilter implements Filter {

  public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
      HttpServletResponse response = (HttpServletResponse) res;
      response.setHeader("Access-Control-Allow-Origin", "*");
      response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
      response.setHeader("Access-Control-Max-Age", "3600");
      response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
      chain.doFilter(req, res);
  }
}

【问题讨论】:

    标签: java cors tomcat8


    【解决方案1】:

    将过滤器定义为example连接到URL:

    <filter>
        <filter-name>cors</filter-name>
        <filter-class>com.robin.filters.SimpleCORSFilter</filter-class>
    </filter>
    
    <filter-mapping>
        <filter-name>cors</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    将过滤器定义为example连接到servlet:

    <filter>
        <filter-name>MyFilter</filter-name>
        <display-name>MyFilter</display-name>
        <filter-class>com.xxx.yyy.zzz.MyFilter</filter-class>
    </filter>
    
    <filter-mapping>
       <filter-name>MyFilter</filter-name>
       <servlet-name>MyAction</servlet-name>
    </filter-mapping>
    

    【讨论】:

    • 所以,我可以把脚本'public class SimpleCORSFilter implements Filter { .....'
    • @RidhoDwiDharmawan 这是 Java 代码,它是您的 Java 应用程序源代码的一部分。
    • 只是放入web.xml还是放入其他文件?
    • 把它的全名放在web.xml中作为filter-class值,作为我的例子
    • 我用这个内容(下面的代码)创建 .java 文件,然后我必须把文件放在哪里? public class SimpleCORSFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; response.setHeader("Access-Control-Allow-Origin", "*"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Contro .....
    猜你喜欢
    • 2016-08-31
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    相关资源
    最近更新 更多