请教ssh框架搭建时的一个问题

kaihea 2008-03-18 09:10:42


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">


<!-- applicationContext.xml-->
<beans>


<bean id="person" class="com.yourcompany.springtest.Person">
<property name="name">
<value>boys</value>
</property>
</bean>
<bean name="/login"
class="com.yourcompany.struts.action.LoginAction" abstract="false"
singleton="true" lazy-init="default" autowire="default"
dependency-check="default">

<property name="person">
<ref bean="person" />
</property>

<property name="dao">
<ref bean="AuthDAO" />
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>file:src/hibernate.cfg.xml</value>
</property>
</bean>
<bean id="AuthDAO"
class="com.yourcompany.hibernatetest.dao.AuthDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
</beans>


提示404错误找不到action,但如果把hibernate的bean注释掉(sessionFactory和AuthDAO),单独注入person Bean就可以,这应该说明struts整合spring的配置没问题吧,如果单独测试AuthDAO Bean和hibernate也是可以处理数据库的,但是加上action的AuthDAO属性就提示找不到,这是为何?!!!
...全文
200 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
guojianpeng9806 2008-10-30
  • 打赏
  • 举报
回复
很好
ooyf1985oo 2008-09-06
  • 打赏
  • 举报
回复
很好的问题!
miaoliujun 2008-03-18
  • 打赏
  • 举报
回复
<value>file:src/hibernate.cfg.xml</value>
改为<value>classpath:hibernate.cfg.xml</value>试试
fyb778899 2008-03-18
  • 打赏
  • 举报
回复
关注下
kaihea 2008-03-18
  • 打赏
  • 举报
回复

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
<data-sources />
<form-beans >
<form-bean name="loginForm" type="com.yourcompany.struts.form.LoginForm" />

</form-beans>

<global-exceptions />
<global-forwards />
<!--
<action-mappings >
<action
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="com.yourcompany.struts.action.LoginAction">
<forward name="success" path="/form/success.jsp" />
</action>

</action-mappings>
-->
<action-mappings >
<action
attribute="loginForm"
input="/form/login.jsp"
name="loginForm"
path="/login"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy">
<forward name="success" path="/form/success.jsp" />
</action>

</action-mappings>

<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>



kaihea 2008-03-18
  • 打赏
  • 举报
回复
是用plugin整合的 把AuthDAO去掉还有sessionfactory也注掉,单独注入person属性就是可以的 也有set方法
怀疑是hibernate影响的,但是不通过action,直接测试AuthDAO Bean 可以访问到数据库,很奇怪?!
miaoliujun 2008-03-18
  • 打赏
  • 举报
回复
struts整合spring的配置 按照你这个配置应该是通过struts-config.xml中的spring plugin来整合的

将action的AuthDAO去掉可以运行吗?
com.yourcompany.struts.action.LoginAction里有setDao方法吗?
kaihea 2008-03-18
  • 打赏
  • 举报
回复
可以了,谢啊!!!是不是因为两种分别对应于spring的ClassPathXmlApplicationContext和FileSystemXmlApplicationContext,我在测试的时候用后者也不行,提示在/bin/下找不到applicationContext
,只是没想到要改这里,可为什么file的就不行?

67,537

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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