<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!--  - Application context definition for "springapp" DispatcherServlet.  -->
<beans>    
   <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName">
         <value>oracle.jdbc.driver.OracleDriver</value>
     </property>
    
    <property name="url">
     <value>jdbc:oracle:thin:@192.168.1.169:1521:LXX</value>
    </property>
    <property name="username">
     <value>flypig</value>
    </property>
    <property  name="password">
     <value>flypig</value>
    </property>
    
  </bean>
  
  <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
   <property name="dataSource">
   <ref local="dataSource" />
   </property>
   <!-- 列出HIBERNATE的映射文件//注意名称一定要为mappingResources,如果是目录用mappingDirectoryLocations-->
   <property name="mappingResources">
   <list>
   <value>com/lxx/flypig/bean/User.hbm.xml</value>
   <value>com/lxx/flypig/bean/Depment.hbm.xml</value>
   <value>com/lxx/flypig/bean/Czdyb.hbm.xml</value>
   <value>com/lxx/flypig/bean/Jsdmdyb.hbm.xml</value>
   <value>com/lxx/flypig/bean/Jsqxdyb.hbm.xml</value>
   <value>com/lxx/flypig/bean/Modeldyb.hbm.xml</value>
   </list>
   </property>
  
  
   <property name="hibernateProperties">
   <props>
   <prop key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop> 
       <prop key="hibernate.show_sql">true</prop>
       <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
   </props>
   </property>
  
  </bean>
  
  <!-- DAO 的IoC配置,使用HIBERNATE模板//-->
  <bean id="hibernateTemplate" class="org.springframework.orm.hibernate.HibernateTemplate">
    <property name="sessionFactory">
      <ref local="sessionFactory" />
     </property>
  </bean>
  
  <!-- 这里需要接口的实现DAO,使用模板实现//-->
  <bean id="UserDAO" class="com.lxx.flypig.dao.UserDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  <bean id="DepDAO" class="com.lxx.flypig.dao.DepDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  <bean id="JsdmDAO" class="com.lxx.flypig.dao.JsdmDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  <bean id="JsqxDAO" class="com.lxx.flypig.dao.JsqxDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  <bean id="ModelDAO" class="com.lxx.flypig.dao.ModelDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  <bean id="CzDAO" class="com.lxx.flypig.dao.CzdyDaoHibernate">
    <property name="hibernateTemplate">
       <ref local="hibernateTemplate" />
     </property>
  </bean>
  
  <!-- 采用面向HIBERNATE的transactionmanager,事务的配置-->
  <bean id="mytransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
    <property name="sessionFactory">
       <ref local="sessionFactory"/>
    </property>
  </bean>
  
  <!-- 事务处理的AOP配置 //-->
  <bean id="lxxProxyTemplate" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <property name="transactionManager">
      <ref local="mytransactionManager"/>
    </property>
    <property name="transactionAttributes">
      <props>
         <prop key="insert*">PROPAGATION_REQUIRED</prop>
         <prop key="del*">PROPAGATION_REQUIRED</prop>
         <prop key="up*">PROPAGATION_REQUIRED</prop>
         <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
         <prop key="dis*">PROPAGATION_REQUIRED,readOnly</prop>
      </props>
    </property>
  </bean>
   <bean id="userTarget" parent="lxxProxyTemplate">
    <property name="target">
    <bean class="com.lxx.flypig.service.UserServiceImp">
    <property name="userDAO"><ref local="UserDAO"/></property> 
    <!-- userDAO,在UserServiceImp里用到get,set方法 //-->
    </bean>
    </property>
   </bean>
   <bean id="depTarget" parent="lxxProxyTemplate">
    <property name="target">
    <bean class="com.lxx.flypig.service.DepServiceImp">
    <property name="depDAO"><ref local="DepDAO" /></property>
    </bean>
    </property>
   </bean>
   <bean id="jsdmTarget" parent="lxxProxyTemplate">
    <property name="target">
    <bean class="com.lxx.flypig.service.JsdmServiceImp">
    <property name="jsdmDAO"><ref local="JsdmDAO" /></property>
    </bean>
    </property>
   </bean>
   <bean id="jsqxTarget" parent="lxxProxyTemplate">
    <property name="target">
    <bean class="com.lxx.flypig.service.JsqxServiceImp">
    <property name="jsqxDAO"><ref local="JsqxDAO" /></property>
    </bean>
    </property>
   </bean>
   <bean id="modelTarget" parent="lxxProxyTemplate">
    <property name="target">
    <bean class="com.lxx.flypig.service.ModelServiceImp">
    <property name="modelDAO"><ref local="ModelDAO" /></property>
    <property name="czDAO"><ref local="CzDAO" /></property>
    </bean>
    </property>
   </bean>
   <bean id="jsUtil" class="com.lxx.flypig.web.sys.JsUtil"></bean> 
   
</beans>

解决方案 »

  1.   

    是啊。我也遇到同相问题。http://127.0.1:8080/test/login.do
    为什么页面会显示:
    HTTP Status 404 - Servlet action is not available
    --------------------------------------------------------------------
    struts-config.xml:
    <action
    path="/login"
    scope="request"
    type="org.springframework.web.struts.DelegatingActionProxy">
    <forward name="display" path="/index.jsp" />
    </action>
    applicationContext.xml:
    <bean name="/login" class="com.cp.struts.action.LoginAction" singleton="false"></bean>
      

  2.   

    怎么没有高手出来指点一下,我也遇到同样的问题,配置了spring的hibernate支持就报"Servlet action is not available",把配置去掉就ok,郁闷了好几天了!!
      

  3.   

    HIBERNATE+SPRING+STRUTS配置如下:WEB-XML配置:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'><web-app>   <filter>
       <filter-name>Encoding</filter-name>
       <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
       <init-param>
       <param-name>encoding</param-name>
       <param-value>GBK</param-value>
       </init-param>
      </filter>
      
      <filter-mapping>
       <filter-name>Encoding</filter-name>
       <url-pattern>*.jsp</url-pattern>
      </filter-mapping>
      
      <filter-mapping>
       <filter-name>Encoding</filter-name>
       <url-pattern>*.do</url-pattern>
      </filter-mapping>  <servlet> 
        <servlet-name>SpringContextServlet</servlet-name> 
        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> 
        <load-on-startup>1</load-on-startup> 
      </servlet> 
     
     
      <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>
      </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>
       
       <taglib>
        <taglib-uri>/struts-bean.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/struts-html.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/struts-logic.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/struts-tiles.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
      </taglib>
      <taglib>
        <taglib-uri>/WEB-INF/struts-nested.tld</taglib-uri>
        <taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
      </taglib>
      
    </web-app>application-xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <!--  - Application context definition for "springapp" DispatcherServlet.  -->
    <beans>    
       <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName">
             <value>oracle.jdbc.driver.OracleDriver</value>
         </property>
        
        <property name="url">
         <value>jdbc:oracle:thin:@192.168.1.169:1521:LXX</value>
        </property>
        <property name="username">
         <value>test</value>
        </property>
        <property  name="password">
         <value>test</value>
        </property>
        
      </bean>
      
      <bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
       <property name="dataSource">
       <ref local="dataSource" />
       </property>
       <!-- 列出HIBERNATE的映射文件//注意名称一定要为mappingResources,如果是目录用mappingDirectoryLocations-->
       <property name="mappingResources">
       <list>
       <value>com/lxx/rz/bean/User.hbm.xml</value>
       </list>
       </property>
      
      
       <property name="hibernateProperties">
       <props>
       <prop key="hibernate.dialect">net.sf.hibernate.dialect.OracleDialect</prop> 
           <prop key="hibernate.show_sql">true</prop>
           <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
       </props>
       </property>
      
      </bean>
      
      <!-- DAO 的IoC配置,使用HIBERNATE模板//-->
      <bean id="hibernateTemplate" class="org.springframework.orm.hibernate.HibernateTemplate">
        <property name="sessionFactory">
          <ref local="sessionFactory" />
         </property>
      </bean>
      
      <!-- 这里需要接口的实现DAO,使用模板实现//--> <!--DAO层接口实现类-->
     <bean id="UserDAO" class="com.lxx.rz.DAO.UserDaoHibernate">
        <property name="hibernateTemplate">
           <ref local="hibernateTemplate" />
         </property>
      </bean>
        <!-- 采用面向HIBERNATE的transactionmanager,事务的配置-->
      <bean id="mytransactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
        <property name="sessionFactory">
           <ref local="sessionFactory"/>
        </property>
      </bean>
      
      <!-- 事务处理的AOP配置 //-->
      <bean id="lxxProxyTemplate" abstract="true" lazy-init="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="transactionManager">
          <ref local="mytransactionManager"/>
        </property>
        <property name="transactionAttributes">
          <props>
             <prop key="insert*">PROPAGATION_REQUIRED</prop>
             <prop key="del*">PROPAGATION_REQUIRED</prop>
             <prop key="up*">PROPAGATION_REQUIRED</prop>
             <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
             <prop key="dis*">PROPAGATION_REQUIRED,readOnly</prop>
          </props>
        </property>
      </bean>
       <bean id="userListSpring" parent="lxxProxyTemplate">
        <property name="target">
                               <!--SERVICE层接口实现类-->
        <bean class="com.lxx.rz.service.UserListServiceImp">
        <property name="userDAO"><ref local="UserDAO"/></property> 
       
        </bean>
        </property>
       </bean>
       </beans>   struts-xml:配置:
    <?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>
      <form-beans>
         <form-bean name="userActionForm" type="com.lxx.rz.web.form.RegUser" /><!-- 是个userbean,RegUser必须继承自ACTIONFORM-->
       </form-beans>
      <action-mappings>
            <action name="userActionForm" scope="request" parameter="method" path="/test" type="com.lxx.rz.web.action.ForwAction">
          <forward name="list" path="/jsp/login.jsp" /><!-- 页面转向用到-->
          <forward name="add" path="/useradd.jps" />
         </action>    
      </action-mappings>
     
    <message-resources parameter="ApplicationResources" />  </struts-config>