When writing filters for web service and loading Tomcat, I get an error.
Who can explain what happens when the server is loaded and why it converts to Filter?
@WebFilter(urlPatterns = {"/register"}, filterName = "regRequestFilter") public class RegisterRequestFilter implements RequestFilter{ @Override @Context public void RequestFiltering(HttpServletResponse response, HttpServletRequest request) { // TODO Auto-generated method stub } } @WebFilter(urlPatterns = {"/register"}, filterName = "regResponseFilter") public class RegisterResponseFilter implements ResponseFilter{ @Override @Context public void ResponseFiltering(HttpServletResponse response, HttpServletRequest request) { String origin = request.getHeader("Origin"); response.setContentType("application/json"); response.setHeader("Pragma", "no-cache"); response.setHeader("Access-Control-Allow-Methods","Post"); response.setHeader("Access-Control-Allow-Origin",origin); } Errors:
java.lang.ClassCastException: coupon.filters.RegisterRequestFilter cannot be cast to javax.servlet.Filter at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4659) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5281) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) >java.lang.ClassCastException: coupon.filters.RegisterRequestFilter cannot be cast to javax.servlet.Filter at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4659) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5281) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
@WebFilteris standardized only on the implementation of the Filter interface. - etki