报错信息:javax.servlet.ServletException: Filter execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
root cause java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;
util.TransactionFilter.doFilter(TransactionFilter.java:38)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)但是我在导入的jar包里可以找到SessionFactory类的getCurrentSession()方法,写的类里也没有报错啊.源代码:
public class TransactionFilter implements Filter{
/** Creates a new instance of TransactionFilter */
public TransactionFilter() {
} public void init(FilterConfig filterConfig) throws ServletException {
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("Transaction starting...");
// Session session=null;
try{
HibernateUtil.getSessionFactory().getCurrentSession().beginTransaction();
chain.doFilter(request,response);
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().commit();
System.out.println("end transaction...");
} catch(Exception e){
e.printStackTrace();
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
}
}public class HibernateUtil {
private static SessionFactory factory=null;
/** Creates a new instance of HibernateUtil */
public HibernateUtil() {
}
static{
Configuration config = new Configuration();
config.configure("service/dao/hibernate/hibernate.cfg.xml");
factory = config.buildSessionFactory();
}
public static SessionFactory getSessionFactory()
{
return factory;
} public void destroy() {
}
}
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
root cause java.lang.NoSuchMethodError: org.hibernate.SessionFactory.getCurrentSession()Lorg/hibernate/classic/Session;
util.TransactionFilter.doFilter(TransactionFilter.java:38)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)但是我在导入的jar包里可以找到SessionFactory类的getCurrentSession()方法,写的类里也没有报错啊.源代码:
public class TransactionFilter implements Filter{
/** Creates a new instance of TransactionFilter */
public TransactionFilter() {
} public void init(FilterConfig filterConfig) throws ServletException {
} public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("Transaction starting...");
// Session session=null;
try{
HibernateUtil.getSessionFactory().getCurrentSession().beginTransaction();
chain.doFilter(request,response);
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().commit();
System.out.println("end transaction...");
} catch(Exception e){
e.printStackTrace();
HibernateUtil.getSessionFactory().getCurrentSession().getTransaction().rollback();
}
}public class HibernateUtil {
private static SessionFactory factory=null;
/** Creates a new instance of HibernateUtil */
public HibernateUtil() {
}
static{
Configuration config = new Configuration();
config.configure("service/dao/hibernate/hibernate.cfg.xml");
factory = config.buildSessionFactory();
}
public static SessionFactory getSessionFactory()
{
return factory;
} public void destroy() {
}
}
你用的是Hibernate是把,不晓得你那个编译完后是否要做怎么操作(类似我上面的加强),