严重: Exception starting filter [TransactionFilter] java.lang.AbstractMethodError

只写了dofilter()可能会出现这个问题 

 

解决方法:

 

添加public void init()和 public void destroy() 方法。

java.lang.AbstractMethodError 这个异常是抽象方法异常。

原因:

jdk 1.9 之后,可以不写这两个方法,如果用jdk1.8 去跑 jdk 1.9 的代码,容易出现这个问题

 

package Filter;

import utils.JdbcUtils;

import javax.servlet.*;
import java.io.IOException;

public class TransactionFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {


        try {
            filterChain.doFilter(servletRequest,servletResponse);
            JdbcUtils.commitAndClose();//提交事务,关闭连接
        }catch (Exception e){
            JdbcUtils.rollbackAndClose();//回滚事务,关闭连接
            e.printStackTrace();
        }

    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void destroy() {

    }
}

 

你可能感兴趣的:(Javaweb,error)