SSH整合时,一直不成功,出现如下错误,错误太多了,不知道怎么改.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSH整合时,一直不成功,出现如下错误,错误太多了,不知道怎么改.相关的知识,希望对你有一定的参考价值。

我用spring和hibernate整合时,用junit测试,一点没错,但是加入struts2时,出现了太多错误了,大家看看吧!在线等待!
首先加入struts2的jar时,运行junit就会出现问题了:如:
警告: Failed to classload type while reading annotation metadata. This is a non-fatal error, but certain annotation metadata may be unavailable.
java.lang.ClassNotFoundException: org.testng.annotations.BeforeTest
java.lang.ClassNotFoundException: org.testng.annotations.AfterTest
然后配置Struts后,运行:会出现:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'hibernateTemplate' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.hibernate.cfg.AnnotationConfiguration]: Constructor threw exception; nested exception is java.lang.ClassCastException: org.hibernate.annotations.common.reflection.java.JavaReflectionManager cannot be cast to org.hibernate.annotations.common.reflection.MetadataProviderInjector

项目发过来 qq 892653986 参考技术A 注解信息缺失,现在的新版都是靠注解来达到配置的功用。追问

说详细点,新手,哪的注解缺失啊 ,我都注解了啊,用junit测试spring和hibernate成功,加入struts就不行了

追答

Error creating bean with name 'userDao': Injection of resource dependencies failed;
userDao,这个Bean无法初始化,导致依赖注入失败。

追问

这句我也读懂了,但是,我不用struts,就能初始化成功,为什么加了struts就不行啊!

追答

struts的action是嵌入到spring里面的,action可用有userDao依赖。

追问

action 里面我一点东西都没写,主要是启动tomcat都启动不了

追答

不一定aciton里要写东西,你不是自己说的,你已经配置Struts了吗,依赖失败都是配置的问题。

追问

你给我个具体的解决方法我试试 !

追答

你以为我是天师会算啊,我又看不见你具体的配置和项目文件,让我给你给具体解决方法,我怎么给你给?掐指一算,东南方紫气东来?

追问

我确定我的spring 的配置没有错。要不单独运行也不会成功,我把我的web.xml和struts.xml发给你:

SSM框架整合时ajax请求返回406

这个问题主要是在面试的时候机试,搭建spring+springmvc+Mybatis时传JSON格式的数据到前台出现的问题,做个笔记方便大家参考:

在浏览器访问时,json报406,说明spring没有处理好对象序列化成json的问题。百度了下需要配置

<mvc:annotation-driven />

但是依然出现406错误

最后的解决方式如下:

<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
	<bean id="mappingJacksonHttpMessageConverter"
		class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
			</list>
		</property>
	</bean>

	<!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
	<bean
		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->
			</list>
		</property>
	</bean>

引入三个jackson2.4版本



如下:


jackson-core-2.4.1.jar


jackson-annotations-2.4.1.jar


jackson-databind-2.4.1.jar


问题就解决了,不在报406了,json数据出来了



以上是关于SSH整合时,一直不成功,出现如下错误,错误太多了,不知道怎么改.的主要内容,如果未能解决你的问题,请参考以下文章

SSM框架整合时ajax请求返回406

SSH框架中hibernate 出现 user is not mapped 问题

createSQLQuery is not valid without active transaction解决方法

linux yum update 出现如下错误 求解决方法

SSM整合时初始化出现异常

win7安装MSMQ时,一直提示出现错误,并非所有的功能被成功更改,怎么解决