是在:  if (userDAO.isValidUser(username,password)) 出错!

解决方案 »

  1.   

    你的架构似乎有问题,显示层直接调用持久层了,中间的服务层呢。
    显示层--》服务层--》持久层需要在spring中为服务层的服务对象配置事务代理工厂,同时配置事物规则等等,然后才能调用。
      

  2.   

    你的loginAction没有注入UserDao这个Bean。
    <bean name="/login" class="com.test.struts.action.LoginAction" singleton="false">
    <property name="userDAO"><ref bean="UserDAO" /></property>
    </bean>
    另外,singleton="false"从LoginAction的代码看来,我认为是没有必要的,Spring管理prototype的bean效率并不是很高。
      

  3.   

    感谢saro:
    现在有出现了这个问题:
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Hibernate operation: could not execute query; bad SQL grammar [select user0_.ID as ID, user0_.USERNAME as USERNAME0_, user0_.PASSWORD as PASSWORD0_ from sampledb__user user0_ where user0_.USERNAME=?]; nested exception is java.sql.SQLException: Table 'sampledb.sampledb__user' doesn't exist
    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:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: could not execute query; bad SQL grammar [select user0_.ID as ID, user0_.USERNAME as USERNAME0_, user0_.PASSWORD as PASSWORD0_ from sampledb__user user0_ where user0_.USERNAME=?]; nested exception is java.sql.SQLException: Table 'sampledb.sampledb__user' doesn't exist
    org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:223)
    org.springframework.orm.hibernate3.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:424)
    org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:411)
    org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:370)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:817)
    org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:813)
    com.test.Hibernate.UserDAO.isValidUser(UserDAO.java:119)
    com.test.struts.action.LoginAction.execute(LoginAction.java:58)
    org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
    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:709)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)