cannot be cast to javax.servlet.Filter
YEMar 30 2011 — edited Mar 31 2011I get errors of cannot be cast to javax.servlet.Filter during deployment. Which part of the following code is wrong?
--------------------------------------------------------------------------------
package com.su.rest.filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import com.su.rest.util.OutputCaptureResponseWrapper;
public class JSONFormatterFilter extends HttpServlet implements Filter {
private static Logger log = Logger.getLogger(JSONFormatterFilter.class);
public void destroy() {
}
public void doFilter(ServletRequest servletrequest, ServletResponse servletresponse,
FilterChain filterchain) throws IOException, ServletException {
HttpServletResponse httpservletresponse;
String s;
label0:
{
HttpServletRequest httpservletrequest = (HttpServletRequest)servletrequest;
httpservletrequest.setCharacterEncoding("utf-8");
httpservletresponse = (HttpServletResponse)servletresponse;
httpservletresponse.setCharacterEncoding("utf-8");
httpservletresponse.setContentType("text/html");
if(!"json".equalsIgnoreCase(servletrequest.getParameter("f"))){
filterchain.doFilter(httpservletrequest, httpservletresponse);
return;
}
OutputCaptureResponseWrapper outputcaptureresponsewrapper = new OutputCaptureResponseWrapper(httpservletresponse);
filterchain.doFilter(servletrequest, outputcaptureresponsewrapper);
// s = new String(outputcaptureresponsewrapper.getOutputAsByteArray());
s= outputcaptureresponsewrapper.getOutputAsString("UTF-8");
log.debug(s);
String callBack = httpservletrequest.getParameter("callback");
String s2=s.trim();
if(callBack!=null){
s2=(new StringBuilder()).append(callBack).append("(").append(s2).append(")").toString();
s=s2;
}
}
httpservletresponse.getWriter().write(s);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
----------------web.xml--------------------------------------
<filter>
<filter-name>JSONFormatter</filter-name>
<filter-class>com.sunz.rest.filters.JSONFormatterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>JSONFormatter</filter-name>
<url-pattern>/services/rest/*</url-pattern>
</filter-mapping>