HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: could not execute query
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:1596)
org.hibernate.loader.Loader.list(Loader.java:1577)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
cn.gov.dangshan.hibernate.DbOperate.getLoginUser(DbOperate.java:26)
cn.gov.dangshan.struts.action.LoginAction.execute(LoginAction.java:49)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.19代码:
/**
* 数据库操作
*/
package cn.gov.dangshan.hibernate;
import java.util.List;import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import cn.gov.dangshan.struts.form.LoginForm;/**
* @author sr
*
*/
public class DbOperate {
public LoginForm getLoginUser(String user00) throws HibernateException{
Session session = SessionFactory.currentSession();
LoginForm loginuser = null;
Transaction tx = null;
try{
tx = session.beginTransaction();
Query query = session.createQuery("from User00 where user00 =" + user00);
List list = query.list();
if(!list.isEmpty())
loginuser = (LoginForm)list.get(0);
tx.commit();
}catch(HibernateException e){
if(tx != null){
tx.rollback();
}
throw e;
}
session.close();
return loginuser;
}}
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:70)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:1596)
org.hibernate.loader.Loader.list(Loader.java:1577)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:395)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:271)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:844)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
cn.gov.dangshan.hibernate.DbOperate.getLoginUser(DbOperate.java:26)
cn.gov.dangshan.struts.action.LoginAction.execute(LoginAction.java:49)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------Apache Tomcat/5.0.19代码:
/**
* 数据库操作
*/
package cn.gov.dangshan.hibernate;
import java.util.List;import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;import cn.gov.dangshan.struts.form.LoginForm;/**
* @author sr
*
*/
public class DbOperate {
public LoginForm getLoginUser(String user00) throws HibernateException{
Session session = SessionFactory.currentSession();
LoginForm loginuser = null;
Transaction tx = null;
try{
tx = session.beginTransaction();
Query query = session.createQuery("from User00 where user00 =" + user00);
List list = query.list();
if(!list.isEmpty())
loginuser = (LoginForm)list.get(0);
tx.commit();
}catch(HibernateException e){
if(tx != null){
tx.rollback();
}
throw e;
}
session.close();
return loginuser;
}}
"from User00 where user00='"+user00+"'"
query.setParameter(0, user00);
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.ClassCastException
cn.gov.dangshan.hibernate.DbOperate.getLoginUser(DbOperate.java:28)
cn.gov.dangshan.struts.action.LoginAction.execute(LoginAction.java:49)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
--------------------------------------------------------------------------------
//Created by MyEclipse Struts
// XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.0.1/xslt/JavaClass.xslpackage cn.gov.dangshan.struts.action;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.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessages;import cn.gov.dangshan.hibernate.DbOperate;
import cn.gov.dangshan.struts.form.LoginForm;/**
* MyEclipse Struts
* Creation date: 08-23-2006
*
* XDoclet definition:
* @struts.action path="/login" name="loginForm" input="/myweb/wrong.jsp" scope="request" validate="true"
*/
public class LoginAction extends Action { // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
LoginForm loginForm = (LoginForm) form;
String user00 = (String)loginForm.getUsername();
String psword = (String)loginForm.getPassword();
LoginForm loginuser = new DbOperate().getLoginUser(user00);
ActionMessages errors = new ActionMessages();
if(loginuser==null)
{
return mapping.findForward("toWrong");
}
else{
String loginPassword = loginuser.getPassword();
if(loginPassword==null||!loginPassword.equals(psword)){
return mapping.findForward("toWrong");
}
else{
//HttpSession session = request.getSession();
//session.setAttribute("username",loginuser);
return mapping.findForward("toIndex");
}
}
}}
=========================================================================
很明显的错误嘛,要学会看控制台信息啊
ClassCaseException 就是说你把某个对象在转型的时候转为了与其不匹配的类型了,行数也告诉你了