这个filter是这样的,帮我分析有什么问题:
package bigstrong.ce.struts.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.HttpServletRequest; public class CeEncodingFilter implements Filter {
protected String encoding = null;
public void init(FilterConfig config) throws ServletException {
this.encoding = config.getInitParameter("encoding");
}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain)
throws IOException, ServletException {
HttpServletRequest _req = (HttpServletRequest)req;
_req.setCharacterEncoding(this.encoding);
chain.doFilter(_req, res); //(程序报错说这里有问题:at safe.ce.struts.filters.CeEncodingFilter.doFilter
//(CeEncodingFilter.java:36))
}
public void destroy() {
this.encoding = null;
}
}
package bigstrong.ce.struts.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.HttpServletRequest; public class CeEncodingFilter implements Filter {
protected String encoding = null;
public void init(FilterConfig config) throws ServletException {
this.encoding = config.getInitParameter("encoding");
}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain chain)
throws IOException, ServletException {
HttpServletRequest _req = (HttpServletRequest)req;
_req.setCharacterEncoding(this.encoding);
chain.doFilter(_req, res); //(程序报错说这里有问题:at safe.ce.struts.filters.CeEncodingFilter.doFilter
//(CeEncodingFilter.java:36))
}
public void destroy() {
this.encoding = null;
}
}
这是说你的执行这个过滤器后,去执行的那个JSP页面有错误.
chain.doFilter(_req, res); //(程序报错说这里有问题:
应该传上面的那个req 不是你自己定义的
还有你定义属性 方法也不对
_req 一般是定义析构函数
chain.doFilter(req, res); 试试看
希望对你有帮助
^_*