CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  框架、开源

spring + hibernate 的问题

楼主rexhee(克雷斯蒂)2006-09-11 15:36:23 在 Java / 框架、开源 提问

用SPRING   +   HIBERNATE   架构  
  报错信息如下:  
  --------------------------------------------------------------  
  15:32:18,714     INFO   Configuration:888   -   processing   association   property   references  
  15:32:18,724     INFO   Configuration:917   -   processing   foreign   key   constraints  
  15:32:19,335     INFO   ConnectionProviderFactory:53   -   Initializing   connection   provider:   org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider  
  15:32:19,425     WARN   JDBCExceptionReporter:71   -   SQL   Error:   0,   SQLState:   null  
  15:32:19,425   ERROR   JDBCExceptionReporter:72   -   Cannot   create   JDBC   driver   of   class   'com.microsoft.jdbc.sqlserver.SQLServerDriver'   for   connect   URL   '  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  '  
  15:32:19,435     WARN   SettingsFactory:103   -   Could   not   obtain   connection   metadata  
  org.apache.commons.dbcp.SQLNestedException:   Cannot   create   JDBC   driver   of   class   'com.microsoft.jdbc.sqlserver.SQLServerDriver'   for   connect   URL   '  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  '  
  at   org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)  
  at   org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)  
  at   org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)  
  at   org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72)  
  at   org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1463)  
  at   org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1004)  
  at   org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:825)  
  at   org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:751)  
  at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1091)  
  at   org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:396)  
  at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:233)  
  at   org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)  
  at   org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277)  
  at   org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:313)  
  at   org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)  
  at   org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)  
  at   org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)  
  at   org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83)  
  at   javax.servlet.GenericServlet.init(GenericServlet.java:211)  
  at   org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)  
  at   org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)  
  at   org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3915)  
  at   org.apache.catalina.core.StandardContext.start(StandardContext.java:4176)  
  at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)  
  at   org.apache.catalina.core.StandardHost.start(StandardHost.java:718)  
  at   org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)  
  at   org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)  
  at   org.apache.catalina.core.StandardService.start(StandardService.java:450)  
  at   org.apache.catalina.core.StandardServer.start(StandardServer.java:700)  
  at   org.apache.catalina.startup.Catalina.start(Catalina.java:551)  
  at   sun.reflect.NativeMethodAccessorImpl.invoke0(Native   Method)  
  at   sun.reflect.NativeMethodAccessorImpl.invoke(Unknown   Source)  
  at   sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown   Source)  
  at   java.lang.reflect.Method.invoke(Unknown   Source)  
  at   org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275)  
  at   org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)  
  Caused   by:   java.sql.SQLException:   No   suitable   driver  
  at   java.sql.DriverManager.getDriver(Unknown   Source)  
  at   org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)  
  ...   35   more  
  -----------------------------------------------------------------------------  
  这是什么错误啊  
  我把SQLSERVER的JDBC驱动换成   JTDS   的也是报一样的错  
  这是怎么回事 问题点数:60、回复次数:35Top

1 楼rexhee(克雷斯蒂)回复于 2006-09-11 15:39:23 得分 0

这个是applicationContext.xml的内容  
   
  ****************************************************************************  
  <?xml   version="1.0"   encoding="UTF-8"?>  
  <!DOCTYPE   beans   PUBLIC   "-//SPRING//DTD   BEAN//EN"   "http://www.springframework.org/dtd/spring-beans.dtd">  
   
  <beans>  
  <bean   id="dataSource"  
  class="org.apache.commons.dbcp.BasicDataSource">  
  <property   name="driverClassName">  
  <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>  
  </property>  
  <property   name="url">  
  <value>  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  </value>  
  </property>  
  <property   name="username">  
  <value>sa</value>  
  </property>  
  <property   name="password">  
  <value>***</value>  
  </property>  
  </bean>  
   
  <bean   id="sessionFactory"  
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  <property   name="dataSource">  
  <ref   bean="dataSource"   />  
  </property>  
  <property   name="hibernateProperties">  
  <props>  
  <prop   key="hibernate.dialect">  
  org.hibernate.dialect.SQLServerDialect  
  </prop>  
  </props>  
  </property>  
  <property   name="mappingResources">  
  <list>  
                                                                      .......  
  <list>  
  </property>  
  </bean>  
  ......  
  </beans>  
  ****************************************************************************Top

2 楼rexhee(克雷斯蒂)回复于 2006-09-12 09:22:39 得分 0

没人回答吗?顶一下先Top

3 楼zqpsswh(似水无痕)回复于 2006-09-12 09:37:40 得分 10

15:32:19,425   ERROR   JDBCExceptionReporter:72   -   Cannot   create   JDBC   driver   of   class   'com.microsoft.jdbc.sqlserver.SQLServerDriver'   for   connect   URL   '  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  '  
   
  给你看看我的做参考  
      <bean   id="dataSource"                
          class="org.apache.commons.dbcp.BasicDataSource">  
      <property   name="driverClassName">  
          <value>com.jnetdirect.jsql.JSQLDriver</value>  
      </property>  
      <property   name="url">  
          <value>jdbc:JSQLConnect://localhost:1433/depot</value>  
          </property>Top

4 楼rexhee(克雷斯蒂)回复于 2006-09-12 09:48:50 得分 0

回楼上的,这个有什么不同吗?  
  只是换了一个JDBC的驱动吧Top

5 楼zqpsswh(似水无痕)回复于 2006-09-12 09:56:17 得分 0

我这个是正确的   你那个是错误的  
   
  你试试就知道了Top

6 楼rexhee(克雷斯蒂)回复于 2006-09-12 10:07:19 得分 0

嗯,我试试,问一下  
  你的JNETDIRECT在哪里有下载呢Top

7 楼rexhee(克雷斯蒂)回复于 2006-09-12 10:50:55 得分 0

还是一样的报错哦  
  换了这个驱动也一样  
  *********************************************************************  
  10:47:58,628     WARN   JDBCExceptionReporter:71   -   SQL   Error:   0,   SQLState:   null  
  10:47:58,628   ERROR   JDBCExceptionReporter:72   -   Cannot   create   JDBC   driver   of   class   'com.jnetdirect.jsql.JSQLDriver'   for   connect   URL   '  
  jdbc:JSQLConnect://localhost:1433/msnews  
  '  
  10:47:58,628     WARN   SettingsFactory:103   -   Could   not   obtain   connection   metadata  
  org.apache.commons.dbcp.SQLNestedException:   Cannot   create   JDBC   driver   of   class   'com.jnetdirect.jsql.JSQLDriver'   for   connect   URL   '  
  jdbc:JSQLConnect://localhost:1433/msnews  
  。。。。。。  
  Caused   by:   java.sql.SQLException:   No   suitable   driver  
  at   java.sql.DriverManager.getDriver(Unknown   Source)  
  at   org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:773)  
  ...   35   more  
  *********************************************************************Top

8 楼djpsunday(创业从此开始,)回复于 2006-09-12 11:53:02 得分 0

sqlserver的JDBC驱动检查一下没有加载上!实在不行放在web容器的lib目录下!Top

9 楼rexhee(克雷斯蒂)回复于 2006-09-12 12:52:07 得分 0

可是我已经把JDBC的驱动放到了LIB目录下了  
  而且不用SPRING却不会报错  
  这是怎么回事  
  Top

10 楼rexhee(克雷斯蒂)回复于 2006-09-12 13:57:08 得分 0

晕死,错误找到了,是因为  
  <property   name="url">  
  <value>  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  </value>  
  改成  
  <property   name="url">  
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor</value>  
  就没有错了,是文件的编码问题吗?  
  ************************************************************  
  这个问题解决了,可是新问题又来了  
   
  13:46:30,812     INFO   SessionFactoryImpl:152   -   building   session   factory  
  13:46:30,822     WARN   Configurator:126   -   No   configuration   found.   Configuring   ehcache   from   ehcache-failsafe.xml   found   in   the   classpath:   jar:file:/E:/My%20Web/ms-info/WebRoot/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml  
  13:46:32,424     INFO   SessionFactoryObjectFactory:82   -   Not   binding   factory   to   JNDI,   no   JNDI   name   configured  
  13:46:32,434     INFO   SessionFactoryImpl:379   -   Checking   0   named   queries  
   
  又是提示   configuration   没有找到,  
  以前我这CSDN也发过这个帖子,后来有人说是主键生成的问题,因为我的数据库主键是自增的,而我选用hibernate   的主键生成器却是   uuix.hex   ,从而出现这个错误,后来我把   uuix.hex   换成了   native   就好了。  
   
  而现在我使用了   spring  
  数据库主键是自增的,hibernate   主键生成器是   native  
  却又出现了这个错误,烦死了  
  Top

11 楼rexhee(克雷斯蒂)回复于 2006-09-12 15:11:53 得分 0

自已顶一下Top

12 楼ricelane()回复于 2006-09-12 15:16:01 得分 20

<value>  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  </value>  
  放到同一行  
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor</value>Top

13 楼ricelane()回复于 2006-09-12 15:18:11 得分 0

com.jnetdirect.jsql.JSQLDriver只能做物理连接,不能提供真正的连接池,建议你用com.jnetdirect.jsql.JSQLDriver,它才能提供真正的连接池。Top

14 楼rexhee(克雷斯蒂)回复于 2006-09-12 15:27:41 得分 0

回ricelane()    
  com.jnetdirect.jsql.JSQLDriver只能做物理连接,不能提供真正的连接池,建议你用com.jnetdirect.jsql.JSQLDriver,它才能提供真正的连接池。  
   
  ?????  
  不是明白你的意思  
  两个驱动都是一样的啊Top

15 楼rexhee(克雷斯蒂)回复于 2006-09-12 15:35:54 得分 0

按您说的,换上了   JSQLDriver   驱动。还是有错误  
  ***********************************************************  
  15:33:53,406     INFO   Environment:464   -   Hibernate   3.0.5  
  15:33:53,406     INFO   Environment:477   -   hibernate.properties   not   found  
  15:33:53,416     INFO   Environment:510   -   using   CGLIB   reflection   optimizer  
  15:33:53,426     INFO   Environment:540   -   using   JDK   1.4   java.sql.Timestamp   handling  
  15:33:54,137     INFO   HbmBinder:260   -   Mapping   class:   model.UAddCoinLog   ->   U_AddCoinLog  
  15:33:54,397     INFO   HbmBinder:260   -   Mapping   class:   model.ChrPopularizeDetail   ->   Chr_PopularizeDetail  
  15:33:54,497     INFO   HbmBinder:260   -   Mapping   class:   model.NNewsSort   ->   N_NewsSort  
  15:33:54,567     INFO   HbmBinder:260   -   Mapping   class:   model.URegInfo   ->   U_RegInfo  
  15:33:54,617     INFO   HbmBinder:260   -   Mapping   class:   model.TNewsList   ->   T_NewsList  
  15:33:54,657     INFO   HbmBinder:260   -   Mapping   class:   model.ChrPopularizeList   ->   Chr_PopularizeList  
  15:33:54,688     INFO   HbmBinder:260   -   Mapping   class:   model.ManagerList   ->   ManagerList  
  15:33:54,748     INFO   HbmBinder:260   -   Mapping   class:   model.UAttributeInfo   ->   U_Attribute_Info  
  15:33:54,818     INFO   HbmBinder:260   -   Mapping   class:   model.UBasicInfo   ->   U_BasicInfo  
  15:33:55,208     INFO   HbmBinder:260   -   Mapping   class:   model.IInfoSort   ->   I_InfoSort  
  15:33:55,298     INFO   HbmBinder:260   -   Mapping   class:   model.IKeywords   ->   I_Keywords  
  15:33:55,358     INFO   HbmBinder:260   -   Mapping   class:   model.MemberMsg   ->   MemberMsg  
  15:33:55,439     INFO   HbmBinder:260   -   Mapping   class:   model.CorpPopularizeLog   ->   Corp_PopularizeLog  
  15:33:55,529     INFO   HbmBinder:260   -   Mapping   class:   model.IInfoList   ->   I_InfoList  
  15:33:55,579     INFO   HbmBinder:260   -   Mapping   class:   model.KeywordsSaleLog   ->   Keywords_Sale_Log  
  15:33:55,579     INFO   Configuration:875   -   processing   extends   queue  
  15:33:55,579     INFO   Configuration:879   -   processing   collection   mappings  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.NNewsSort.TNewsLists   ->   T_NewsList  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.corpPopularizeLogs   ->   Corp_PopularizeLog  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.UAttributeInfos   ->   U_Attribute_Info  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.UBasicInfos   ->   U_BasicInfo  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.memberMsgs   ->   MemberMsg  
  15:33:55,589     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.UAddCoinLogs   ->   U_AddCoinLog  
  15:33:55,599     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.IInfoLists   ->   I_InfoList  
  15:33:55,599     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.chrPopularizeDetails   ->   Chr_PopularizeDetail  
  15:33:55,599     INFO   HbmBinder:2041   -   Mapping   collection:   model.URegInfo.keywordsSaleLogs   ->   Keywords_Sale_Log  
  15:33:55,599     INFO   HbmBinder:2041   -   Mapping   collection:   model.ChrPopularizeList.chrPopularizeDetails   ->   Chr_PopularizeDetail  
  15:33:55,599     INFO   HbmBinder:2041   -   Mapping   collection:   model.IInfoSort.IInfoLists   ->   I_InfoList  
  15:33:55,609     INFO   HbmBinder:2041   -   Mapping   collection:   model.IInfoSort.IInfoSorts   ->   I_InfoSort  
  15:33:55,609     INFO   HbmBinder:2041   -   Mapping   collection:   model.IKeywords.chrPopularizeLists   ->   Chr_PopularizeList  
  15:33:55,609     INFO   HbmBinder:2041   -   Mapping   collection:   model.IKeywords.keywordsSaleLogs   ->   Keywords_Sale_Log  
  15:33:55,609     INFO   Configuration:888   -   processing   association   property   references  
  15:33:55,609     INFO   Configuration:917   -   processing   foreign   key   constraints  
  15:33:56,140     INFO   ConnectionProviderFactory:53   -   Initializing   connection   provider:   org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider  
  JSQLConnect(5.53)   Trial   license   -   expires   on:Wed   Oct   11   05:57:08   CST   2006  
  15:33:56,530     INFO   SettingsFactory:77   -   RDBMS:   Microsoft   SQL   Server,   version:   8.0.2039  
  15:33:56,530     INFO   SettingsFactory:78   -   JDBC   driver:   JNetDirect   JSQLConnect   4.0   -   JDBC   3.0,   version:   5.53  
  15:33:56,580     INFO   Dialect:92   -   Using   dialect:   org.hibernate.dialect.SQLServerDialect  
  15:33:56,590     INFO   TransactionFactoryFactory:31   -   Using   default   transaction   strategy   (direct   JDBC   transactions)  
  15:33:56,600     INFO   TransactionManagerLookupFactory:33   -   No   TransactionManagerLookup   configured   (in   JTA   environment,   use   of   read-write   or   transactional   second-level   cache   is   not   recommended)  
  15:33:56,600     INFO   SettingsFactory:125   -   Automatic   flush   during   beforeCompletion():   disabled  
  15:33:56,600     INFO   SettingsFactory:129   -   Automatic   session   close   at   end   of   transaction:   disabled  
  15:33:56,610     INFO   SettingsFactory:144   -   Scrollable   result   sets:   enabled  
  15:33:56,610     INFO   SettingsFactory:152   -   JDBC3   getGeneratedKeys():   enabled  
  15:33:56,610     INFO   SettingsFactory:160   -   Connection   release   mode:   on_close  
  15:33:56,610     INFO   SettingsFactory:187   -   Default   batch   fetch   size:   1  
  15:33:56,610     INFO   SettingsFactory:191   -   Generate   SQL   with   comments:   disabled  
  15:33:56,610     INFO   SettingsFactory:195   -   Order   SQL   updates   by   primary   key:   disabled  
  15:33:56,610     INFO   SettingsFactory:334   -   Query   translator:   org.hibernate.hql.ast.ASTQueryTranslatorFactory  
  15:33:56,620     INFO   ASTQueryTranslatorFactory:21   -   Using   ASTQueryTranslatorFactory  
  15:33:56,620     INFO   SettingsFactory:203   -   Query   language   substitutions:   {}  
  15:33:56,620     INFO   SettingsFactory:209   -   Second-level   cache:   enabled  
  15:33:56,630     INFO   SettingsFactory:213   -   Query   cache:   disabled  
  15:33:56,630     INFO   SettingsFactory:321   -   Cache   provider:   org.hibernate.cache.EhCacheProvider  
  15:33:56,650     INFO   SettingsFactory:228   -   Optimize   cache   for   minimal   puts:   disabled  
  15:33:56,660     INFO   SettingsFactory:237   -   Structured   second-level   cache   entries:   disabled  
  15:33:56,670     INFO   SettingsFactory:257   -   Echoing   all   SQL   to   stdout  
  15:33:56,670     INFO   SettingsFactory:261   -   Statistics:   disabled  
  15:33:56,670     INFO   SettingsFactory:265   -   Deleted   entity   synthetic   identifier   rollback:   disabled  
  15:33:56,680     INFO   SettingsFactory:279   -   Default   entity-mode:   pojo  
  15:33:56,781     INFO   SessionFactoryImpl:152   -   building   session   factory  
  15:33:56,801     WARN   Configurator:126   -   No   configuration   found.   Configuring   ehcache   from   ehcache-failsafe.xml   found   in   the   classpath:   jar:file:/E:/My%20Web/ms-info/WebRoot/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml  
  15:33:58,904     INFO   SessionFactoryObjectFactory:82   -   Not   binding   factory   to   JNDI,   no   JNDI   name   configured  
  15:33:58,904     INFO   SessionFactoryImpl:379   -   Checking   0   named   queries  
  Top

16 楼ricelane()回复于 2006-09-12 15:41:19 得分 10

<value>  
  jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor  
  </value>  
  放到同一行  
  <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MsNews;SelectMethod=cursor</value>  
  先不管别的,放到同一行。  
   
   
   
   
   
   
  我写错了,com.microsoft.jdbc.sqlserver.SQLServerDriver只能提供物理连接。Top

17 楼rexhee(克雷斯蒂)回复于 2006-09-12 15:53:21 得分 0

回ricelane()    
  那个我已经放到一行了  
   
  <bean   id="dataSource"  
  class="org.apache.commons.dbcp.BasicDataSource">  
  <property   name="driverClassName">  
  <value>com.jnetdirect.jsql.JSQLDriver</value>  
  </property>  
  <property   name="url">  
  <value>jdbc:JSQLConnect://localhost:1433/MsNews</value>  
  </property>  
  <property   name="username">  
  <value>sa</value>  
  </property>  
  <property   name="password">  
  <value>***</value>  
  </property>  
  </bean>Top

18 楼ricelane()回复于 2006-09-12 16:04:00 得分 0

<bean   id="dataSource"  
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  <property   name="driverClassName">  
  <value>net.sourceforge.jtds.jdbc.Driver</value>  
  </property>  
  <property   name="url">  
  <value>jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=test</value>  
  </property>  
  <property   name="username">  
  <value>sa</value>  
  </property>  
  <property   name="password">  
  <value>dc</value>  
  </property>  
  </bean>  
  class改一下,把错误贴出来。Top

19 楼rexhee(克雷斯蒂)回复于 2006-09-12 16:12:54 得分 0

改好了,还是这个错误  
   
  .....  
  16:11:14,929     INFO   SettingsFactory:279   -   Default   entity-mode:   pojo  
  16:11:15,009     INFO   SessionFactoryImpl:152   -   building   session   factory  
  16:11:15,039     WARN   Configurator:126   -   No   configuration   found.   Configuring   ehcache   from   ehcache-failsafe.xml   found   in   the   classpath:   jar:file:/E:/My%20Web/ms-info/WebRoot/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml  
  16:11:16,992     INFO   SessionFactoryObjectFactory:82   -   Not   binding   factory   to   JNDI,   no   JNDI   name   configured  
  16:11:16,992     INFO   SessionFactoryImpl:379   -   Checking   0   named   queries  
   
  这是   applicationContext.xml   文件  
  ===================================================================================  
  <bean   id="dataSource"  
  class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  <property   name="driverClassName">  
  <value>net.sourceforge.jtds.jdbc.Driver</value>  
  </property>  
  <property   name="url">  
  <value>jdbc:jtds:sqlserver://localhost:1433;DatabaseName=MsNews</value>  
  </property>  
  <property   name="username">  
  <value>sa</value>  
  </property>  
  <property   name="password">  
  <value>***</value>  
  </property>  
  </bean>Top

20 楼ricelane()回复于 2006-09-12 16:35:28 得分 0

既然只是一个WARN,就先不管它了,对数据库操作试试,既然用spring,就先不用hibernate配置文件了。Top

21 楼rexhee(克雷斯蒂)回复于 2006-09-12 17:00:01 得分 0

可是我操作数据库的时候却出现了致命的错误了啊  
   
  16:58:15,745   ERROR   ManagerListDAO:83   -   find   by   property   name   failed  
  java.lang.NullPointerException  
  at   model.ManagerListDAO.findByProperty(ManagerListDAO.java:81)  
  at   model.ManagerListDAO.findByManager(ManagerListDAO.java:89)  
  at   manager.ManagerLogin.checkLogin(ManagerLogin.java:128)  
  at   manager.ManagerLogin.doPost(ManagerLogin.java:103)  
  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:869)  
  at   org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)  
  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(Unknown   Source)  
  16:58:15,745   ERROR   [ManagerLogin]:260   -   Servlet.service()   for   servlet   ManagerLogin   threw   exception  
  java.lang.NullPointerException  
  at   model.ManagerListDAO.findByProperty(ManagerListDAO.java:81)  
  at   model.ManagerListDAO.findByManager(ManagerListDAO.java:89)  
  at   manager.ManagerLogin.checkLogin(ManagerLogin.java:128)  
  at   manager.ManagerLogin.doPost(ManagerLogin.java:103)  
  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:869)  
  at   org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)  
  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(Unknown   Source)  
  ------------------------------------------------------------  
  Top

22 楼rexhee(克雷斯蒂)回复于 2006-09-12 17:00:36 得分 0

这是   ManagerListDAO.java  
  ---------------------------------------------  
  package   model;  
   
  import   java.util.List;  
  import   org.apache.commons.logging.Log;  
  import   org.apache.commons.logging.LogFactory;  
  import   org.hibernate.LockMode;  
  import   org.springframework.context.ApplicationContext;  
  import   org.springframework.orm.hibernate3.support.HibernateDaoSupport;  
   
  /**  
    *   Data   access   object   (DAO)   for   domain   model   class   ManagerList.  
    *   @see   model.ManagerList  
    *   @author   MyEclipse   -   Hibernate   Tools  
    */  
  public   class   ManagerListDAO   extends   HibernateDaoSupport   {  
   
          private   static   final   Log   log   =   LogFactory.getLog(ManagerListDAO.class);  
   
  //property   constants  
  public   static   final   String   MANAGER   =   "manager";  
  public   static   final   String   MANAGER_PSW   =   "managerPsw";  
   
  @Override  
  protected   void   initDao()   {  
  //do   nothing  
  }  
           
          public   void   save(ManagerList   transientInstance)   {  
                  log.debug("saving   ManagerList   instance");  
                  try   {  
                          getHibernateTemplate().save(transientInstance);  
                          log.debug("save   successful");  
                  }   catch   (RuntimeException   re)   {  
                          log.error("save   failed",   re);  
                          throw   re;  
                  }  
          }  
           
  public   void   delete(ManagerList   persistentInstance)   {  
                  log.debug("deleting   ManagerList   instance");  
                  try   {  
                          getHibernateTemplate().delete(persistentInstance);  
                          log.debug("delete   successful");  
                  }   catch   (RuntimeException   re)   {  
                          log.error("delete   failed",   re);  
                          throw   re;  
                  }  
          }  
           
          public   ManagerList   findById(   java.lang.Integer   id)   {  
                  log.debug("getting   ManagerList   instance   with   id:   "   +   id);  
                  try   {  
                          ManagerList   instance   =   (ManagerList)   getHibernateTemplate()  
                                          .get("model.ManagerList",   id);  
                          return   instance;  
                  }   catch   (RuntimeException   re)   {  
                          log.error("get   failed",   re);  
                          throw   re;  
                  }  
          }  
           
           
          public   List   findByExample(ManagerList   instance)   {  
                  log.debug("finding   ManagerList   instance   by   example");  
                  try   {  
                          List   results   =   getHibernateTemplate().findByExample(instance);  
                          log.debug("find   by   example   successful,   result   size:   "   +   results.size());  
                          return   results;  
                  }   catch   (RuntimeException   re)   {  
                          log.error("find   by   example   failed",   re);  
                          throw   re;  
                  }  
          }          
           
          public   List   findByProperty(String   propertyName,   Object   value)   {  
              log.debug("finding   ManagerList   instance   with   property:   "   +   propertyName  
                          +   ",   value:   "   +   value);  
              try   {  
                    String   queryString   =   "from   ManagerList   as   model   where   model."    
                    +   propertyName   +   "=   ?";  
    return   getHibernateTemplate().find(queryString,   value);  
              }   catch   (RuntimeException   re)   {  
                    log.error("find   by   property   name   failed",   re);  
                    throw   re;  
              }  
  }  
   
  public   List   findByManager(Object   manager)   {  
  return   findByProperty(MANAGER,   manager);  
  }  
   
  public   List   findByManagerPsw(Object   managerPsw)   {  
  return   findByProperty(MANAGER_PSW,   managerPsw);  
  }  
   
          public   ManagerList   merge(ManagerList   detachedInstance)   {  
                  log.debug("merging   ManagerList   instance");  
                  try   {  
                          ManagerList   result   =   (ManagerList)   getHibernateTemplate()  
                                          .merge(detachedInstance);  
                          log.debug("merge   successful");  
                          return   result;  
                  }   catch   (RuntimeException   re)   {  
                          log.error("merge   failed",   re);  
                          throw   re;  
                  }  
          }  
   
          public   void   attachDirty(ManagerList   instance)   {  
                  log.debug("attaching   dirty   ManagerList   instance");  
                  try   {  
                          getHibernateTemplate().saveOrUpdate(instance);  
                          log.debug("attach   successful");  
                  }   catch   (RuntimeException   re)   {  
                          log.error("attach   failed",   re);  
                          throw   re;  
                  }  
          }  
           
          public   void   attachClean(ManagerList   instance)   {  
                  log.debug("attaching   clean   ManagerList   instance");  
                  try   {  
                          getHibernateTemplate().lock(instance,   LockMode.NONE);  
                          log.debug("attach   successful");  
                  }   catch   (RuntimeException   re)   {  
                          log.error("attach   failed",   re);  
                          throw   re;  
                  }  
          }  
   
  public   static   ManagerListDAO   getFromApplicationContext(ApplicationContext   ctx)   {  
          return   (ManagerListDAO)   ctx.getBean("ManagerListDAO");  
  }  
  }Top

23 楼rexhee(克雷斯蒂)回复于 2006-09-12 17:07:06 得分 0

我调用的方法是   findByManager  
  而参数的能保证传进去了Top

24 楼zqpsswh(似水无痕)回复于 2006-09-13 08:52:21 得分 0

16:58:15,745   ERROR   ManagerListDAO:83   -   find   by   property   name   failed  
  java.lang.NullPointerException  
  at   model.ManagerListDAO.findByProperty(ManagerListDAO.java:81)  
   
  那个WARN是正常的   楼主不用管他  
   
  你出现的问题是这里  
   
  仔细看你的81行,出现了null错误。  
   
  应该是你传进去的参数有问题。  
   
  仔细检查吧。Top

25 楼rexhee(克雷斯蒂)回复于 2006-09-13 09:42:25 得分 0

我传递的参数没有问题的,在调试当中也能够将参数打印出来  
   
  而且我用了这个方法  
  getHibernateTemplate().loadAll(ManagerList.class);  
   
  还是出现了java.lang.NullPointerException     的异常  
   
  Top

26 楼zqpsswh(似水无痕)回复于 2006-09-13 09:58:41 得分 0

find   by   property   name   failed    
  java.lang.NullPointerException  
   
  仔细检查吧。  
   
  看看是不是你的类和mapping文件有问题。Top

27 楼rexhee(克雷斯蒂)回复于 2006-09-13 10:59:48 得分 0

这是   ManagerList.java   类  
  ---------------------------------------------------------------------  
  package   model;  
   
  import   java.util.Date;  
   
   
  /**  
    *   ManagerList   generated   by   MyEclipse   -   Hibernate   Tools  
    */  
   
  public   class   ManagerList     implements   java.io.Serializable   {  
   
   
          //   Fields          
   
            private   Integer   id;  
            private   String   manager;  
            private   String   managerPsw;  
            private   Date   addTime;  
            private   Date   lastLoginTime;  
   
   
          //   Constructors  
   
          /**   default   constructor   */  
          public   ManagerList()   {  
          }  
   
  /**   minimal   constructor   */  
          public   ManagerList(String   manager,   String   managerPsw,   Date   addTime)   {  
                  this.manager   =   manager;  
                  this.managerPsw   =   managerPsw;  
                  this.addTime   =   addTime;  
          }  
           
          /**   full   constructor   */  
          public   ManagerList(String   manager,   String   managerPsw,   Date   addTime,   Date   lastLoginTime)   {  
                  this.manager   =   manager;  
                  this.managerPsw   =   managerPsw;  
                  this.addTime   =   addTime;  
                  this.lastLoginTime   =   lastLoginTime;  
          }  
   
         
          //   Property   accessors  
   
          public   Integer   getId()   {  
                  return   this.id;  
          }  
           
          public   void   setId(Integer   id)   {  
                  this.id   =   id;  
          }  
   
          public   String   getManager()   {  
                  return   this.manager;  
          }  
           
          public   void   setManager(String   manager)   {  
                  this.manager   =   manager;  
          }  
   
          public   String   getManagerPsw()   {  
                  return   this.managerPsw;  
          }  
           
          public   void   setManagerPsw(String   managerPsw)   {  
                  this.managerPsw   =   managerPsw;  
          }  
   
          public   Date   getAddTime()   {  
                  return   this.addTime;  
          }  
           
          public   void   setAddTime(Date   addTime)   {  
                  this.addTime   =   addTime;  
          }  
   
          public   Date   getLastLoginTime()   {  
                  return   this.lastLoginTime;  
          }  
           
          public   void   setLastLoginTime(Date   lastLoginTime)   {  
                  this.lastLoginTime   =   lastLoginTime;  
          }  
  }  
   
  ---------------------------------------------------------------------  
   
  这是mapping   文件  
   
  *********************************************************************  
  <?xml   version="1.0"?>  
  <!DOCTYPE   hibernate-mapping   PUBLIC   "-//Hibernate/Hibernate   Mapping   DTD   3.0//EN"  
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  <!--    
          Mapping   file   autogenerated   by   MyEclipse   -   Hibernate   Tools  
  -->  
  <hibernate-mapping>  
          <class   name="model.ManagerList"   table="ManagerList"   schema="dbo"   catalog="MsNews">  
                  <id   name="id"   type="java.lang.Integer">  
                          <column   name="id"   />  
                          <generator   class="native"   />  
                  </id>  
                  <property   name="manager"   type="java.lang.String">  
                          <column   name="Manager"   length="20"   not-null="true"   />  
                  </property>  
                  <property   name="managerPsw"   type="java.lang.String">  
                          <column   name="ManagerPsw"   length="32"   not-null="true"   />  
                  </property>  
                  <property   name="addTime"   type="java.util.Date">  
                          <column   name="addTime"   length="23"   not-null="true"   />  
                  </property>  
                  <property   name="lastLoginTime"   type="java.util.Date">  
                          <column   name="lastLoginTime"   length="23"   />  
                  </property>  
          </class>  
  </hibernate-mapping>  
   
  *********************************************************************  
   
   
  能帮我看看是哪里出问题了吗?Top

28 楼zqpsswh(似水无痕)回复于 2006-09-15 09:19:08 得分 20

<property   name="lastLoginTime"   type="java.util.Date">  
                          <column   name="lastLoginTime"   length="23"   />  
                  </property>  
   
  初步怀疑是Date搞鬼   仔细检查你的源文件吧。  
  是否有初始化lastLoginTime=new   Date();?Top

29 楼daidongsheng(Baggio⑩)回复于 2006-09-15 12:10:59 得分 0

好复杂啊!学习一下Top

30 楼tcmis(难道你忘了吗?)回复于 2006-09-15 12:42:17 得分 0

有没有把jdbc驱动拷贝到应用里面Top

31 楼rexhee(克雷斯蒂)回复于 2006-09-16 09:07:28 得分 0

回复   zqpsswh(似水无痕)  
   
  lastLoginTime=new   Date();  
  加在哪里呢Top

32 楼rexhee(克雷斯蒂)回复于 2006-09-16 09:08:23 得分 0

回复   tcmis(难道你忘了吗?)  
   
  JDBC   文件我已经放到LIB文件夹里了Top

33 楼rexhee(克雷斯蒂)回复于 2006-09-16 09:10:52 得分 0

放上调用文件  
  ManagerList.java  
  *************************************************************************  
  package   manager;  
   
  import   java.io.IOException;  
  import   java.io.PrintWriter;  
  import   java.util.List;  
   
  import   javax.servlet.ServletException;  
  import   javax.servlet.http.HttpServlet;  
  import   javax.servlet.http.HttpServletRequest;  
  import   javax.servlet.http.HttpServletResponse;  
  import   javax.servlet.http.HttpSession;  
   
  import   model.ManagerListDAO;  
  import   unit.methods;  
   
  public   class   ManagerLogin   extends   HttpServlet   {  
   
  private   String   M_RegName,   M_Psw,   validator_Code;  
   
  private   HttpSession   Hsession;  
   
  methods   mds   =   new   methods();  
   
  ManagerListDAO   mld   =   new   ManagerListDAO();  
   
  /**  
    *   Destruction   of   the   servlet.   <br>  
    */  
  @Override  
  public   void   destroy()   {  
  super.destroy();   //   Just   puts   "destroy"   string   in   log  
  //   Put   your   code   here  
  }  
   
  /**  
    *   The   doGet   method   of   the   servlet.   <br>  
    *    
    *   This   method   is   called   when   a   form   has   its   tag   value   method   equals   to   get.  
    *    
    *   @param   request  
    *                         the   request   send   by   the   client   to   the   server  
    *   @param   response  
    *                         the   response   send   by   the   server   to   the   client  
    *   @throws   ServletException  
    *                           if   an   error   occurred  
    *   @throws   IOException  
    *                           if   an   error   occurred  
    */  
  @Override  
  public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)  
  throws   ServletException,   IOException   {  
   
  response.setContentType("text/html;   charset=UTF-8");  
  PrintWriter   out   =   response.getWriter();  
  out  
  .println("<!DOCTYPE   HTML   PUBLIC   \"-//W3C//DTD   HTML   4.01   Transitional//EN\">");  
  out.println("<HTML>");  
  out.println(" <HEAD><TITLE></TITLE></HEAD>");  
  out.println(" <BODY>");  
  out.println(" 非法操作,请返回重试!");  
  out.println("     </BODY>");  
  out.println("</HTML>");  
  out.flush();  
  out.close();  
  }  
   
  /**  
    *   The   doPost   method   of   the   servlet.   <br>  
    *    
    *   This   method   is   called   when   a   form   has   its   tag   value   method   equals   to  
    *   post.  
    *    
    *   @param   request  
    *                         the   request   send   by   the   client   to   the   server  
    *   @param   response  
    *                         the   response   send   by   the   server   to   the   client  
    *   @throws   ServletException  
    *                           if   an   error   occurred  
    *   @throws   IOException  
    *                           if   an   error   occurred  
    */  
  @Override  
  public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response)  
  throws   ServletException,   IOException   {  
   
  response.setContentType("text/html");  
  response.setCharacterEncoding("gb2312");  
  PrintWriter   out   =   response.getWriter();  
  out  
  .println("<!DOCTYPE   HTML   PUBLIC   \"-//W3C//DTD   HTML   4.01   Transitional//EN\">");  
  out.println("<HTML>");  
  out.println("     <HEAD><TITLE></TITLE></HEAD>");  
  out.println("     <BODY>");  
   
  M_RegName   =   mds.filterStr(request.getParameter("M_RegName"));  
  M_Psw   =   mds.filterStr(request.getParameter("M_Psw"));  
  validator_Code   =   mds.filterStr(request.getParameter("check_code"));  
  Hsession   =   request.getSession(true);  
   
  out.println(this.checkLogin());  
   
  out.println(M_RegName   +   "<br   />"   +   M_Psw   +   "<br   />"   +   validator_Code);  
  out.println("     </BODY>");  
  out.println("</HTML>");  
  out.flush();  
  out.close();  
  }  
   
  /**  
    *   Initialization   of   the   servlet.   <br>  
    *    
    *   @throws   ServletException  
    *                           if   an   error   occure  
    */  
  @Override  
  public   void   init()   throws   ServletException   {  
  //   Put   your   code   here  
  }  
   
  private   String   checkLogin()   {  
   
  String   returnStr   =   null;  
   
  List   list   =   mld.findByManager(new   String(M_RegName));  
   
  if   (!list.iterator().hasNext())   {  
  returnStr   =   ""   +   "<script   language=\"javascript\">"  
  +   " parent.showErrorMsg(\"用户名错误!\");"   +   "</script>";  
  }   else   {  
  list   =   mld.findByManagerPsw(new   String(M_Psw));  
  if   (!list.iterator().hasNext())   {  
  returnStr   =   ""   +   "<script   language=\"javascript\">"  
  +   " parent.showErrorMsg(\"登陆密码错误!\");"   +   "</script>";  
  }   else   {  
  if   (Hsession.getAttribute("ImgCode").equals(validator_Code))   {  
  returnStr   =   ""  
  +   "<script   language=\"javascript\">"  
  +   " parent.document.location.href=\"service/index.jsp\";"  
  +   "</script>";  
  }   else   {  
  returnStr   =   ""   +   "<script   language=\"javascript\">"  
  +   " parent.showErrorMsg(\"请输入正确的图形验证码!\");"  
  +   "</script>";  
  }  
  }  
  }  
   
  return   returnStr;  
  }  
  }  
  Top

34 楼zhenhuirex()回复于 2006-09-19 09:39:10 得分 0

关注,留名学习Top

35 楼rexhee(克雷斯蒂)回复于 2006-09-20 10:11:01 得分 0

顶一下先,就没有遇到过这些问题吗?Top

相关问题

关键词

得分解答快速导航

  • 帖主:rexhee
  • zqpsswh
  • ricelane
  • ricelane
  • zqpsswh

相关链接

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

广告也精彩

反馈

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