在学习SSH中遇到的一些问题与大家共享

问题一:今天在配置SSH,却遇到了问题,如下:

15:20:54,093 ERROR ContextLoader:203 - Context initialization failed

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name

 

'SessionFact

 

ory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested

 

exception is java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

 

(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

 

Caused by:

 

java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

 

(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)

找了很久,才找到问题,解决方法如下: 去掉asm-2.2.3.jar包就可以了.

网上找到的原文如下: from:http://blog.chinaunix.net/u1/36006/showart_390459.html

第一种:

 

web.xml

 

<context-param>

 

<param-name>contextConfigLocation</param-name>

 

<param-value>/WEB-INF/applicationContext.xml</param-value>

 

</context-param>

 

<servlet>

 

<servlet-name>context</servlet-name>

 

<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

 

<load-on-startup>2</load-on-startup>

 

</servlet>

  

第二种:

 

web.xml

 

<context-param>

 

<param-name>contextConfigLocation</param-name>

 

<param-value>/WEB-INF/applicationContext.xml</param-value>

 

</context-param>

 

<listener>

 

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

 

</listener>

  

第三种:

 

struts-config.xml

 

 


<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">

 

<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />

 

</plug-in>

 致命异常:

 

15:20:54,093 ERROR ContextLoader:203 - Context initialization failed

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'Session

 

Factory' defined in class path resource [applicationContext.xml]: Invocation of init

 

method failed; nested exception is java.lang.NoSuchMethodError:

 

org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;L

 

java/lang/String;[Ljava/lang/String;Ljava/lang/String;)V

 

Caused by:

 

java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit

 

(IILjava/lang/String;Ljava/lang/Stri

 

ng;[Ljava/lang/String;Ljava/lang/String;)

  

网友的解决方法: 

  从出错的字面看,肯定与org.objectweb.asm包有关,于是我就检查lib下面关于asm的包,分别有如下几个JAR:

 

 asm-2.2.3.jar

 

asm.jar

 

asm-attrs.jar

 

asm-commons-2.2.3.jar

 

asm-util-2.2.3.jar

  然后怀疑是asm-2.2.3.jarasm.jar可能有嫌疑,于是分别去掉他们,最后,去掉asm-2.2.3.jar成功启动.

  呵呵,其实,这些微不足道的小错误需要一个细心的心来发现,我在google上找了半天也没有成型的结果 ,反而让我觉得这是一个很新的问题.其实,关键是自己要细心,不要太依赖网络带给你的答案.

  通过多次的测试,在使用myeclise5.5.GA,如果你选用spring1.2,hibernate3.2JSF1.1,一般会顺利的配置成功.如果项目不要求指定版本的框架时,请使用如上组合,能够快速的解决你很多意想不到的错误和版本冲突.

  我的途径:

  去掉asm-2.2.3.jar,果然成功。

问题二:在使用hibernate 链接access数据库的时候,首先是出现:

Dialect找不到 ”
然后加入:“<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>  
再发布,没有问题了但是在页面,点击提交后,执行HQL时候弹出“[Microsoft][ODBC Microsoft Access Driver] 找不到文件 'E:/Program Files/MyEclipse6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.easie.tomcat.myeclipse_6.0.1.zmyeclipse601200710/tomcat/bin/yuan.dbo'”。
在改为SQLservice2000使用桥链接时候加入<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>是不会出错的。

 

问题三:在执行HQL语句的时候提示“java.sql.SQLException:   [Microsoft][SQLServer   2000   Driver   for   JDBC][SQLServer]列名    uname    无效。  

导致此问题的原因很可能是:HQL语句出错了检查HQL语句就行。

 

 

Hibernate链接access的方法:

 

连接access用很多种,今天说一种我的连接方法,是用的hxtthttp://www.hxtt.com/)的东东,这个网站上有很多驱动和方言,还可以连接excel呢,呵呵....好了下面是连接方法:

需要两个包的支持,1jdbc连接access的驱动程序 (Access_JDBC30.jar)地址:http://www.hxtt.com/access.zip   2access的方言包(hibernate.jar)地址:http://www.hxtt.com/test/hibernate.zip

下面是hibernate配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
       "
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.username"></property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.dialect">com.hxtt.support.hibernate.HxttAccessDialect</property>
       <!-- <property name="hibernate.connection.url">jdbc:access:///f:/mdbfiles/aaa.mdb</property> -->
        <property name="hibernate.connection.driver_class">com.hxtt.sql.access.AccessDriver</property>       
       <property name="hiberante.show_sql">true</property>
       <mapping resource="Person.hbm.xml" />
    </session-factory>
</hibernate-configuration>

连接access就是这样啦,很简单吧,o(∩_∩)o...哈哈

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值