WARN - Unhandled Exception thrown: class org.hibernate.TransactionException
ERROR - Servlet.service() for servlet action threw exception
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:149)
at com.teach.hibernate.dao.UserDAO.valid(UserDAO.java:34)
at com.teach.struts.actions.LoginAction.valid(LoginAction.java:44)
at com.teach.struts.actions.LoginAction.execute(LoginAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
ERROR - Servlet.service() for servlet action threw exception
org.hibernate.TransactionException: Transaction not successfully started
at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:149)
at com.teach.hibernate.dao.UserDAO.valid(UserDAO.java:34)
at com.teach.struts.actions.LoginAction.valid(LoginAction.java:44)
at com.teach.struts.actions.LoginAction.execute(LoginAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:743)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
解决方案 »
- 关于Hibernate Session线程安全问题
- 关于flex+java:Channel.Connect.Failed error NetConnection.Call.Failed: HTTP: Failed
- 新手 问: 开发Ejb3的应用 用什么平台啊?
- 使用spring 事务方式进行 查询,报表或试图不存在?
- 各位大侠,帮忙诊断一下
- JSP调用JavaBean,设置属性的时候怎样捕捉异常?
- 多个struts-config.xml配置问题!!!!!!!!!!!!!!
- 大家觉得现在OA(办公自动化软件)的市场前景如何
- 我做的一个房态图不能显示,不知道解决,想请你们看看是哪出了问题
- Torque问题
- 请问网址以html结尾的是怎么做的
- 求助高手 一个困惑的Hibernate异常
import com.teach.hibernate.HibernateSessionFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;public class UserDAO {
public User valid(String username, String password)
throws HibernateException {
Session session = null;
Transaction tx = null;
User user = null;
try {
session = HibernateSessionFactory.currentSession();
tx = session.beginTransaction(); Query query = session
.createQuery("from User where username=? and password=?");
query.setString(0, username.trim());
query.setString(1, password.trim()); user = (User) query.uniqueResult(); query = null; tx.commit();
} catch (HibernateException e) {
throw e;
} finally {
if (tx != null) {
tx.rollback();
}
HibernateSessionFactory.closeSession();
}
return user;
}}
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.teach.struts.forms.LoginForm;
import com.teach.hibernate.dao.UserDAO;
import com.teach.hibernate.beans.User;
public class LoginAction extends Action{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
ActionErrors errors = new ActionErrors();
ActionForward forward = new ActionForward();
LoginForm loginForm = (LoginForm) form;
int typeId = loginForm.getTypeId();
String username = loginForm.getUsername();
String password = loginForm.getPassword();
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
session = request.getSession(true);
boolean flag = valid(loginForm);
System.out.println("flag" + flag);
if (flag = true){if (typeId == 0) forward = mapping.findForward("admin_edu");
if (typeId == 1) forward = mapping.findForward("teacher_edu");
if (typeId == 2) forward = mapping.findForward("student_edu");
}else{
errors.add(ActionErrors.GLOBAL_MESSAGE, new ActionMessage(
"login.message.failed"));
forward = mapping.findForward("failure");
}
return forward;
}
private boolean valid(LoginForm loginForm) {
UserDAO userDAO = new UserDAO();
User user = userDAO.valid(loginForm.getUsername(), loginForm.getPassword());
if (user != null) {
return true;
} else {
return false;
}
}}