关于SSH中,spring和hibernate集成问题

zl198751 2008-02-10 11:14:40
在配置好struts和spring后,我调试过,在jsp页中建立连接 action=“test.do”
< action path="/test" type="org.springframework.web.struts.DelegatingActionProxy" />

< plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> < set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" /> < /plug-in>

在spring配置文件中:
<bean name="/test" class="com.struts.action.TestAction">
</bean>
测试,可以从jsp页找到TestAction.

然后在SS中继续配置Hibernate后,spring配置中加入了信息
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></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.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/hibernate/load/Sys.hbm.xml</value>
<value>com/hibernate/sys/Emp.hbm.xml</value></list>
</property>
</bean>

然后测试就不能找到TestAction了 页面提示ServletAction不可用。
我的配置版本是,MyEclipse6.0 Tomcat5.5 Struts 1.2 Spring2.0 Hibernate3.1 请问大虾是不是这种配置不稳定造成的?谢谢
...全文
434 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl198751 2008-02-23
  • 打赏
  • 举报
回复
谢谢大家了 程序可以运行了 在我尝试的第三台机器上可以运行了 不知道是什么地方的配置问题错误。
zl198751 2008-02-22
  • 打赏
  • 举报
回复
就一个asm和asm-attrs.jar log4j我还不太会用 所以没办法发log4j的信息。
happylion2008 2008-02-20
  • 打赏
  • 举报
回复
另外,加上log4j,看他的DEBUG日志可以找到很多有用的信息。
happylion2008 2008-02-20
  • 打赏
  • 举报
回复
有可能asm包冲突。看一下lib中是不是有两个包:
asm.jar和asm-2.2.3.jar
把asm-2.2.3.jar删除掉看看。
soyestrellafortuna 2008-02-11
  • 打赏
  • 举报
回复
Could not read mappings from resource: com/hibernate/Emp.hbm.xml
查查Emp.hbm.xml文件
Javaxy 2008-02-11
  • 打赏
  • 举报
回复
你配置文件的关联关系写错了吧!?
avajevol 2008-02-10
  • 打赏
  • 举报
回复
应该是spring创建sessionFactory失败造成的,建议你在工程中加入log4j记录日志,可能是缺少某些class
zl198751 2008-02-10
  • 打赏
  • 举报
回复
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Association references unmapped class: com.hibernate.Manager
at org.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2344)
at org.hibernate.cfg.HbmBinder$CollectionSecondPass.secondPass(HbmBinder.java:2618)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:35)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1012)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1168)
at com.hibernate.HibernateSessionFactory.<clinit>(HibernateSessionFactory.java:31)
at com.hibernate.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
at com.hibernate.SysDAO.findByProperty(SysDAO.java:78)
at com.struts.action.LoadAction.execute(LoadAction.java:39)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
%%%% Error Creating SessionFactory %%%%
org.hibernate.MappingException: Could not read mappings from resource: com/hibernate/Emp.hbm.xml
at org.hibernate.cfg.Configuration.addResource(Configuration.java:485)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.hibernate.HibernateSessionFactory.rebuildSessionFactory(HibernateSessionFactory.java:69)
at com.hibernate.HibernateSessionFactory.getSession(HibernateSessionFactory.java:53)
at com.hibernate.BaseHibernateDAO.getSession(BaseHibernateDAO.java:13)
at com.hibernate.SysDAO.findByProperty(SysDAO.java:78)
at com.struts.action.LoadAction.execute(LoadAction.java:39)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.DuplicateMappingException: Duplicate collection role mapping com.hibernate.Emp.managers
at org.hibernate.cfg.Mappings.addCollection(Mappings.java:124)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2030)
at org.hibernate.cfg.HbmBinder.createClassProperties(HbmBinder.java:2005)
at org.hibernate.cfg.HbmBinder.bindRootPersistentClassCommonValues(HbmBinder.java:368)
at org.hibernate.cfg.HbmBinder.bindRootClass(HbmBinder.java:282)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:153)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
... 30 more
晚上测试还是错误
gagapear 2008-02-10
  • 打赏
  • 举报
回复
报什么错误了?看看你tomcat下的log文件的消息
zl198751 2008-02-10
  • 打赏
  • 举报
回复
还有我想补充点,当有时候我在hibernate中加入一个关系表的时候用myeclipse自动生成的DAO可以很好的应用,当用myeclipse加入第二张表的时候就不能使用DAO了,包括原来可以用的也不能了,添加的过程完全是myeclipse自动完成,所以不存在我手工写的错误,不知道是否要在自动完成的基础上改动些后才能正常使用呢?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧