怎么我全部注释我自定义的Filter后,报错的时候还会有
spt.filter.servlet.EncodingFilter.doFilter(EncodingFilter.java:24)
我上一下我自定义的编码处理类吧:
package spt.filter.servlet;import java.io.IOException;
import java.io.UnsupportedEncodingException;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.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;//filter all servlets.
@WebFilter("/*")
public class EncodingFilter  implements Filter { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpReq = (HttpServletRequest) servletRequest;
//由于HttpServletRequest.setCharacterEncoding()对get方式不起作用,所以要单独编码.
if ("GET".equals(httpReq.getMethod()))
filterChain.doFilter(new HttpServletRequestEncodingWrapper(httpReq), servletResponse);
else {
//use utf encoding for none-get request.
httpReq.setCharacterEncoding("utf-8");
filterChain.doFilter(httpReq, servletResponse);
}
} public void init(FilterConfig filterConfig) throws ServletException { }

/**inner class dealing for 'GET' method.
 * @author Administrator
 *2015-1-27
 */
private class HttpServletRequestEncodingWrapper extends HttpServletRequestWrapper {
public HttpServletRequestEncodingWrapper(HttpServletRequest request) {
super(request);
} @Override
public String getParameter(String name) {
//encode with 'iso', and than decode with 'utf'.
String val = super.getRequest().getParameter(name);
if (null != val) {
try {
return new String(val.getBytes("iso8859-1"), "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
return val;
}
} public void destroy() {

}}我想说的是,以前我也是用这个类,用的很正常,但是现在,物理是get请求,还是POST请求,都是报这样的错.
我开始以为是 Tomcat 7需要jdk7,但是后来我指定jdk为7后,也还是一样.

解决方案 »

  1.   

    很是郁闷, 一大早起来,发现运行正常...应该是重启MyEclipse就可以. 我晕...这也太坑爹了...
      

  2.   

    是不是修改后没重启tomcat?代码没更新?
      

  3.   


    http://bbs.csdn.net/topics/390984988 这个帖子能推荐下吗? 全部是我分享的android资源
      

  4.   

    toDate=2014/01/03 中的"/"这个符号的问题 吧?
      

  5.   

    不是哦,哥们,我发现Tomcat就算是Debug模式,很多时候不重启,是不能解决的. 但这次我记得我甚至重启MyEclipse了.
    后来发现第二天重启计算机,运行就正常.
      

  6.   

    我在8,9楼说了, 其实我一般怕是其他原因,我一般都习惯clean,但我记得重启MyEclipse都没有解决.
      

  7.   

    不是哦,哥们,我发现Tomcat就算是Debug模式,很多时候不重启,是不能解决的. 但这次我记得我甚至重启MyEclipse了.
    后来发现第二天重启计算机,运行就正常.
    原来如此,又学一招了。