使用 web.xml 在 Tomcat 8 上设置自定义过滤器
Posted
技术标签:
【中文标题】使用 web.xml 在 Tomcat 8 上设置自定义过滤器【英文标题】:Set custom filter on Tomcat 8 using web.xml 【发布时间】: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);
【问题讨论】:
【参考方案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 .....
以上是关于使用 web.xml 在 Tomcat 8 上设置自定义过滤器的主要内容,如果未能解决你的问题,请参考以下文章
从 web.xml 迁移到基于 Java 的配置 - 无法启动 Tomcat 8