这是applicationContext.xml里面的配置:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.jdbc.mysql.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/bbsqa">
</property>
<property name="username" value="root"></property>
<property name="password" value=""></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
这是登录实现类中的登录方法:
public User login(String username, String password)
{
System.out.println(77777);
@SuppressWarnings("rawtypes")
List list = getHibernateTemplate().find("from user where username=? and password=?",  username, password);
System.out.println(username + password);
if(list.size() == 1)
{
System.out.println("ddddd");
return (User) list.get(0);
}
else
{
System.out.println(000000);
return null;
}

}
这是Tomcat启动时候的控制台信息:
WARN | 2013-04-18 20:50:47.0618 | org.hibernate.engine.jdbc.internal.JdbcServicesImpl | HHH000342: Could not obtain connection to query metadata : Cannot load JDBC driver class 'com.jdbc.mysql.Driver'
四月 18, 2013 8:50:47 下午 com.sun.faces.config.ConfigureListener contextInitialized
这是登录跳转时候的页面信息:
HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error that prevented it from fulfilling this request.exceptionjava.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)root causejava.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
org.springframework.orm.hibernate3.SessionFactoryUtils.doGetSession(SessionFactoryUtils.java:324)
org.springframework.orm.hibernate3.SessionFactoryUtils.getSession(SessionFactoryUtils.java:235)
org.springframework.orm.hibernate3.HibernateTemplate.getSession(HibernateTemplate.java:457)
org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:393)
org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:912)
com.lee.bbsqa.dao.IUserDaoImpl.login(IUserDaoImpl.java:35)
com.lee.bbsqa.service.IUserServiceImpl.login(IUserServiceImpl.java:23)
com.lee.bbsqa.action.LoginAction.execute(LoginAction.java:56)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
//长度限制,这里有些错误信息删掉了note The full stack trace of the root cause is available in the Apache Tomcat/7.0.33 logs.
代码运行的时候,控制台会显示77777,也就是说能执行到这个方法,但是下面从数据库里面提取数据就没办法执行了。这个时候控制台是没有报错信息的,只有浏览器会报500错误。纠结了一个下午,不知道怎么解决。我是新手,才学这个没几天,求指导。数据库SSHJava

解决方案 »

  1.   

    缺少包 可能是这个 antlr-2.7.6.jar 
      

  2.   


    mysql驱动不是这里配置的吗,哪里错了,我这个是Myeclipse自动生成的,我找了几个例子,虽然有些差别,但是不知道怎么改啊。
      

  3.   

    最近自己搭建的,基于spring mvc ,spring3,hibernate4
    可以参考参考:
    <context:property-placeholder location="classpath:config/properties/jdbc.properties" />
    <!-- 配置数据源 -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}"></property>
    <property name="url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
    </bean>
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">${hibernate.dialect}</prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.format_sql">false</prop>
    <prop key="hibernate.hbm2ddl.auto">update</prop>
    <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
    </props>
    </property>
    <!-- 关联Hibernate配置文件 -->
    <property name="mappingLocations">
    <list>
    <value>classpath*:com/heli/**/*.hbm.xml</value>
    </list>
    </property>
    </bean>jdbc.properties#Mysql
    hibernate.dialect = org.hibernate.dialect.MySQLInnoDBDialect
    jdbc.driverClassName = org.gjt.mm.mysql.Driver
    jdbc.url = jdbc:mysql://127.0.0.1:3306/spring3pro
    jdbc.username = root
    jdbc.password = root
      

  4.   

    还有Spring3 不支持Hibernate4的这个模板方法:getHibernateTemplate()
    是直接调用hibernate的
    sessionFactory.getCurrentSession();去看看spring 3的官方文档就比较清楚了
      

  5.   

    这个没办法用,老是报错,说<context:property-placeholder location="classpath:config/properties/jdbc.properties" />这行代码错误(不是没有引用的错误)。
    这个也不行,没有sessionfactory的getCurrentSession()方法。我原来的代码有问题,driverClassName写成com.jdbc.mysql.Driver了,改过来之后启动Tomcat控制台没有警告了,但是只要执行登录的操作,还是会跳到那个500的页面。
      

  6.   

    这个我试过了,没有找到sessionFactory的getCurrentSession()方法。我原来的代码发现driverClassName写错了,改过来之后Tomcat启动的时候控制台不会显示警告了,但是执行登录的时候还是会跳转到那个500的界面。
      

  7.   

    这个没办法用,老是说<context:property-placeholder location="classpath:config/properties/jdbc.properties" />这行代码有错,是控制台报错,路径我改过的,而且下面还有一堆错误,看不懂。这个也不行,找不到sessionFactory的getCurrentSession()方法。我原来的代码driverClassName写错了,改过来之后启动Tomcat的时候控制台不会显示警告了,但是执行登录操作的时候,还是一直跳转到500页面。忘记说了,我用的是Myeclipse10.7,SSH都是Myeclipse自动生成的最新版本。
      

  8.   

    那个properties有错误,那你就直接将那些值写在程序里面就OK了撒至于 你的说的,sessionFactory找不到getCurrentSession()方法应该是没有注入的问题dao里面要加上
    如:
    public class BaseDao {
    private SessionFactory sessionFactory;
            public SessionFactory getSessionFactory() {
    return sessionFactory;
    } public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
    }
    }
      

  9.   

    java.lang.NoSuchMethodError: org.hibernate.SessionFactory.openSession()Lorg/hibernate/classic/Session;
        org.springframework.orm.hibernate3.
    找不到这个方法,你把你的sessionFactory配置改成和我的一样,基本就OK了,因为openSession()需要
     <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext</prop>
                
      

  10.   

    还有你返回500的页面,你是用的struts2 ??? 这个你要配置返回视图的吧?
      

  11.   

    有没有加上mysql  jar包?
      

  12.   

    还有你返回500的页面,你是用的struts2 ??? 这个你要配置返回视图的吧?有没有加上mysql  jar包?