2)applicationContext.xml
   <?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="classpath:hibernate.cfg.xml">
</property>
</bean>

<bean id="TabDAO" class="com.zhouyu.hibernate.TabDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"></ref>
</property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"></ref>
</property>
</bean>

<bean id="ImpTabDAO" class="com.zhouyu.imp.ImpClass">
<property name="tabdao">
<ref bean="TabDAO"></ref>
</property>
</bean>

<bean id="TabDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"></ref>
</property>
<property name="target">
<ref bean="ImpTabDAO"></ref>
</property>
<property name="transactionAttributes">
<props>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="cun*">PROPAGATION_REQUIRED</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="login*">PROPAGATION_REQUIRED</prop>
<prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

<bean name="/myForm" class="com.zhouyu.struts.action.MyFormAction">
<property name="imp">
<ref bean="TabDAOProxy"></ref>
</property>
</bean>
</beans>
3)web.xml
    <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/applicationContext.xml</param-value>
  </context-param>
  
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

解决方案 »

  1.   

    在web.xml中未指定ContextLoaderListener
      

  2.   

     但是用<context-param>一样可以在服务器启动时,加载applictionContext.xml文件啊
      

  3.   

    看你的配置似乎没问题struts spring版本问题?我遇到过这样的问题。struts1.2 spring2,就是配不好。但是不确定
      

  4.   

    我配置的是struts1.2   spring2 没什么问题 
    但是struts1.3   spring2也跟你一样的错误
      

  5.   

    你访问的url是多少?应该是找不到index.jsp
    放web-inf/index.jsp下看看
      

  6.   

    struts-config.xml,applicationContext.xml,web.xml是不是在同一个目录下面啊,如果是,在web.xml中是不需要监听器的,因为服务起动时已经把它三个都加载了,
    你的/myform.do,do 加上没有
      

  7.   

    加入log日志,级别 info ,看看日志怎么报错就差不多了
      

  8.   

    如果用   eclipse   这个环境,它会多生成一个   hibernate包(包名最长的那个),有时候把这个删除了就可以了,但是切记删除之后不能马上重新部署工程,不然你写的一些东西会丢失