CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

关于spring+hibernate的问题,请求各位帮忙看看,谢谢

楼主5iasp(aspboy)2006-06-02 16:54:11 在 Java / 框架、开源 提问

关于spring+hibernate的问题,请求各位帮忙看看,谢谢  
   
  具体如下:  
   
  当请求:http://localhost:8083/hibernateTestWeb/user.do   时抱如下错误:  
   
   
   
  Apache   Tomcat/4.0.6   -   HTTP   Status   500   -   Internal   Server   Error  
   
  --------------------------------------------------------------------------------  
   
  type   Exception   report  
   
  message   Internal   Server   Error  
   
  description   The   server   encountered   an   internal   error   (Internal   Server   Error)   that   prevented   it   from   fulfilling   this   request.  
   
  exception    
   
  javax.servlet.ServletException:   Servlet.init()   for   servlet   SpringhibernateStudy   threw   exception  
  at   org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:946)  
  at   org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)  
  at   org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)  
  at   java.lang.Thread.run(Thread.java:536)  
   
   
  root   cause    
   
  org.springframework.beans.factory.BeanCreationException:   Error   creating   bean   with   name   'userService'   defined   in    
   
  ServletContext   resource   [/WEB-INF/SpringhibernateStudy-servlet.xml]:   Initialization   of   bean   failed;   nested   exception   is    
   
  org.aopalliance.aop.AspectException:   null  
  java.lang.IllegalStateException:   Unknown   callback   class    
   
  org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor  
  at   net.sf.cglib.proxy.CallbackUtils.getGenerator(CallbackUtils.java:102)  
  at   net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:298)  
  at   net.sf.cglib.proxy.Enhancer.create(Enhancer.java:246)  
  at   org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:199)  
  at   org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:156)  
  at   org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:70)  
  at    
   
  org.springframework.transaction.interceptor.TransactionProxyFactoryBean.getProxy(TransactionProxyFactoryBean.java:338)  
  at    
   
  org.springframework.transaction.interceptor.TransactionProxyFactoryBean.afterPropertiesSet(TransactionProxyFactoryBean.java:3  
   
  10)  
  at    
   
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFac  
   
  tory.java:1058)  
  at    
   
  org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.ja  
   
  va:363)  
  at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)  
  at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)  
  at    
   
  org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java  
   
  :269)  
  at   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:318)  
  at    
   
  org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationCon  
   
  text.java:134)  
  at   org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:305)  
  at   org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:250)  
  at   org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:219)  
  at   org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:112)  
  at   javax.servlet.GenericServlet.init(GenericServlet.java:256)  
  at   org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918)  
  at   org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:655)  
  at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)  
  at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)  
  at   org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)  
  at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)  
  at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)  
  at   org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)  
  at   org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)  
  at   java.lang.Thread.run(Thread.java:536)  
   
   
   
  -------------------------------------------------------------------------------- 问题点数:100、回复次数:6Top

1 楼5iasp(aspboy)回复于 2006-06-02 16:55:08 得分 0

相关代码如下:  
   
   
  具体代码有如下类:  
   
  User.java:值对象  
  UserDAO.java   dao接口  
  UserDAOImp   dao接口实现类  
  UserService       service接口  
  UserServiceImp   service接口实现类  
   
   
  UserController   控制器类,在这里调用业务逻辑。    
   
   
  代码如下:  
   
  1.   User.java  
   
  package   apps.hibernatetest.ioc;  
   
  public   class   User   implements   java.io.Serializable  
  {  
                          private   String   id;  
                          private   String   username;  
                          private   String   password;  
   
                          public   User(){}  
   
                          public   String   getId()  
                          {  
                                              return   id;  
                          }  
   
                          public   void   setId(String   id)  
                          {  
                                              this.id   =   id;  
                          }  
   
                          public   String   getUsername()  
                          {  
                                              return   username;  
                          }  
   
                          public   void   setUsername(String   username)  
                          {  
                                            this.username   =   username;  
                          }  
   
                          public   String   getPassword()  
                          {  
                                              return   password;  
                          }  
   
                          public   void   setPassword(String   password)  
                          {  
                                              this.password   =   password;  
                          }  
   
   
  }  
   
   
   
  2.   UserDAO.java  
   
  package   apps.hibernatetest.ioc;  
   
  public   interface   UserDAO  
  {  
          public   void   userAdd(User   user);  
  }  
   
   
  3.UserDAOImp.java  
   
   
  package   apps.hibernatetest.ioc;  
  import   net.sf.hibernate.HibernateException;  
  import   net.sf.hibernate.Query;  
  import   net.sf.hibernate.Session;  
   
  import   org.springframework.orm.hibernate.HibernateCallback;  
  import   org.springframework.orm.hibernate.support.HibernateDaoSupport;  
   
  public   class   UserDAOImp   extends   HibernateDaoSupport     implements   UserDAO  
  {  
      public   void   userAdd(User   user)  
      {  
                  try  
                  {  
                          System.out.println("save="+getHibernateTemplate().save(user));  
                          getHibernateTemplate().save(user);  
                  }  
                      catch(Exception     e)  
                  {  
                            System.out.println("执行插入用户错误!");  
                  }  
      }  
   
  }  
   
   
   
   
  4.   UserService.java  
   
  package   apps.hibernatetest.ioc;  
   
  public   interface   UserService  
  {  
   
      public   void   userAdd(User   user);  
  }  
   
   
   
  5.UserServiceImp.java  
   
   
  package   apps.hibernatetest.ioc;  
   
  public   class   UserServiceImp  
  {  
      private   UserDAO   userDAO;  
      private   User   user   =   new   User();  
      public   UserDAO   getUserDAO()  
      {  
                  return   userDAO;  
      }  
      public   void   setUserDAO(UserDAO   userDAO)  
      {  
                  this.userDAO   =   userDAO;  
      }  
      public   void   userAdd(User   user)  
      {  
              userDAO.userAdd(user);  
      }  
  }  
   
   
  6.UserController.java  
   
   
  package   apps.hibernatetest.ioc;  
  import   org.springframework.web.servlet.mvc.Controller;  
  import   org.springframework.web.servlet.ModelAndView;  
  import   javax.servlet.ServletException;  
  import   javax.servlet.http.HttpServletRequest;  
  import   javax.servlet.http.HttpServletResponse;  
  import   javax.servlet.*;  
  import   javax.servlet.http.*;  
  import   org.springframework.web.bind.RequestUtils;  
  import   java.io.IOException;  
  import   java.util.Map;  
  import   java.util.*;  
  import   java.util.HashMap;  
  import   org.apache.commons.beanutils.BeanUtils;  
   
  import   org.springframework.context.ApplicationContext;  
  import   org.springframework.web.context.support.WebApplicationContextUtils;  
   
  public   class   UserController   implements   Controller  
  {  
      private   UserService   userService;  
      public   void   setUserService(UserService   userService)  
      {  
                  this.userService   =   userService;  
      }  
   
      public   ModelAndView   handleRequest(HttpServletRequest   request,   HttpServletResponse   response)   throws   ServletException,    
   
  IOException  
    {  
                          String   url="";  
                          url="test.jsp";  
   
                          User   u=new   User();  
                          u.setUsername("11111");  
                          u.setPassword("1111");  
                          userService.userAdd(u);  
   
                          return   new   ModelAndView(url);  
    }  
   
  }  
   
   
  6.   SpringhibernateStudy-servlet.xml  
   
   
   
  <?xml   version="1.0"   encoding="iso-8859-1"?>  
  <!DOCTYPE   beans   PUBLIC   "-//SPRING/DTD   BEAN/EN"   "http://www.springframework.org/dtd/spring-beans.dtd">  
  <!--     -   Application   context   definition   for   "springapp"   DispatcherServlet.     -->  
  <beans>          
        <bean   id="dataSource"   class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close">  
          <property   name="driverClassName">  
                    <value>oracle.jdbc.driver.OracleDriver</value>  
            </property>  
           
          <property   name="url">  
          <value>jdbc:oracle:thin:@192.168.1.191:1521:yanek</value>  
          </property>  
          <property   name="username">  
          <value>test</value>  
          </property>  
          <property     name="password">  
          <value>1234</value>  
          </property>  
           
      </bean>  
       
      <bean   id="sessionFactory"   class="org.springframework.orm.hibernate.LocalSessionFactoryBean">  
      <property   name="dataSource">  
      <ref   local="dataSource"   />  
      </property>  
      <!--     HIBERNATE   &#55259;&#56691;     //         &#1194;&#938;mappingResources,       &frac14;   mappingDirectoryLocations-->  
      <property   name="mappingResources">  
      <list>  
      <value>User.hbm.xml</value>  
   
      </list>  
      </property>  
   
      <property   name="hibernateProperties">  
      <props>  
              <prop   key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop>    
              <prop   key="hibernate.show_sql">true</prop>  
              <prop   key="hibernate.cglib.use_reflection_optimizer">true</prop>  
      </props>  
      </property>  
      </bean>  
       
      <!--   DAO   IoC     ,     HIBERNATE&#291;//-->  
      <bean   id="hibernateTemplate"   class="org.springframework.orm.hibernate.HibernateTemplate">  
          <property   name="sessionFactory">  
              <ref   local="sessionFactory"   />  
            </property>  
      </bean>  
       
      <!--           &#1279;&#1717;     DAO,&#697;   &#291;     //-->  
      <bean   id="UserDAO"   class="apps.hibernatetest.ioc.UserDAOImp">  
          <property   name="hibernateTemplate">  
                <ref   local="hibernateTemplate"   />  
            </property>  
      </bean>  
       
   
       
      <!--         HIBERNATE   transactionmanager,         -->  
      <bean   id="mytransactionManager"   class="org.springframework.orm.hibernate.HibernateTransactionManager">  
          <property   name="sessionFactory">  
                <ref   local="sessionFactory"/>  
          </property>  
      </bean>  
       
      <!--           AOP       //-->  
      <bean   id="lxxProxyTemplate"   abstract="true"   lazy-init="true"    
   
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  
          <property   name="transactionManager">  
              <ref   local="mytransactionManager"/>  
          </property>  
          <property   name="transactionAttributes">  
              <props>  
                    <prop   key="user*">PROPAGATION_REQUIRED</prop>  
                    <prop   key="insert*">PROPAGATION_REQUIRED</prop>  
                    <prop   key="del*">PROPAGATION_REQUIRED</prop>  
                    <prop   key="up*">PROPAGATION_REQUIRED</prop>  
                    <prop   key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
                    <prop   key="dis*">PROPAGATION_REQUIRED,readOnly</prop>  
              </props>  
          </property>  
      </bean>  
        <bean   id="userService"   parent="lxxProxyTemplate">  
        <property   name="target">  
        <bean   class="apps.hibernatetest.ioc.UserServiceImp">  
        <property   name="userDAO"><ref   local="UserDAO"/></property>    
        </bean>  
        </property>  
        </bean>  
   
   
   
    <bean   id="UserController"   class="apps.hibernatetest.ioc.UserController">        
          <property   name="userService">  
    <ref   bean="userService"   />  
    </property>  
      </bean>  
       
        <bean   id="UserurlMapping"   class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">    
  <property   name="mappings">              
  <props>  
  <prop   key="/user.do">UserController</prop>  
  </props>  
  </property>  
        </bean>  
         
  </beans>Top

2 楼5iasp(aspboy)回复于 2006-06-02 16:58:29 得分 0

报错问题:userService   不能实例话    
   
  Error   creating   bean   with   name   'userService'   defined   in    
   
  ServletContext   resource   [/WEB-INF/SpringhibernateStudy-servlet.xml]:   Initialization   of   bean   failed;   nested   exception   is    
   
  org.aopalliance.aop.AspectException:   null  
  java.lang.IllegalStateException:   Unknown   callback   class    
  Top

3 楼lxxstarii(生鱼片)回复于 2006-06-05 12:44:37 得分 10

我已经帮你解决了,给我分:)Top

4 楼5iasp(aspboy)回复于 2006-06-05 12:51:02 得分 0

问题已解决Top

5 楼lxxstarii(生鱼片)回复于 2006-06-05 12:54:41 得分 50

<listener>  
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
          </listener>  
  <servlet>Top

6 楼lxxstarii(生鱼片)回复于 2006-06-05 12:55:37 得分 40

把public   class   UserServiceImp    
   
  改为  
  public   class   UserServiceImp   implements   UserServiceTop

相关问题

关键词

得分解答快速导航

  • 帖主:5iasp
  • lxxstarii
  • lxxstarii
  • lxxstarii

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo