ssh整合时总从页面跳转到action总是出现Servlet action is not available。请各位看看这是怎么回事呢?

解决方案 »

  1.   

    一般是action的类没有配置好,找不到,看看路径,最好全换成绝对路径
      

  2.   

    我先配置的是spring和struts,测试成功,但是整合上hibernate就出现上面的问题了。
      

  3.   

    哪我就不好说了,这个的看具体代码了。Hibernate加上,一般都是和数据库有关了。你是不是用spring 和hibernate的集成框架,那个也涉及到配置问题,你最好安装配置规则重新检查一下
      

  4.   

    applicationContext.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
    <beans>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName">
    <value>com.mysql.jdbc.Driver</value>
    </property>
    <property name="url">
    <value>
    jdbc:mysql://127.0.0.1:3306/test
    </value>
    </property>
    <property name="username">
    <value>root</value>
    </property>
    <property name="password">
    <value>sa</value>
    </property>
    </bean> <!-- 装配sessionFactory -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref bean="dataSource"/>
    </property>
    <!-- 添加映射文件 -->
    <property name="mappingResources">

    <list>
    <value>vo/BookInfo.hbm.xml</value>
    </list>
    </property>
    <!--hibernate属性 -->
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">
    true
    </prop>
    </props>
    </property>
    </bean>

    <!-- 装配事务管理 -->
    <bean id="myTransactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
    <ref bean="sessionFactory"/>
    </property>
    </bean>
    <!-- 配置抽象事务代理 -->

    <bean id="abstractTxProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    <!-- 传入事务管理器 -->
    <property name="transactionManager">
    <ref bean="myTransactionManager"/>
    </property>
    <property name="transactionAttributes">
    <props>
    <!-- key 指定方法 -->
    <prop key="*">PROPAGATION_REQUIRED</prop>
    </props>
    </property>
    <property name="target">
    <ref local="bookDao" />
    </property>
    </bean>
     
    <!-- 装配Dao -->
    <bean id="bookDao" class="dao.BookDao">
     <property name="sessionFactory">
             <ref local="sessionFactory" />
         </property>
    </bean>
    <bean id="bookService" class="bus.BookServiceImpl">
    <property name="bookDao">
    <ref bean="bookDao"/>
    </property>
    </bean>
    <bean name="/searchSubmit" class="actions.SearchSubmit">
    <property name="bookService">
    <ref bean="bookService"/>
    </property>
    </bean>

    </beans>
    struts-config.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
    <struts-config>
    <form-beans>
    <form-bean name="bookForm" type="forms.BookForm">
    </form-bean>
    </form-beans>
    <action-mappings>
    <action path="/searchSubmit" type="org.springframework.web.struts.DelegatingActionProxy" input="/book.jsp" name="bookForm">
    <forward name="success" path="/success.jsp"></forward>
    </action>
    </action-mappings>

    <!--  <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />-->

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
    </plug-in>
    </struts-config>
    web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
     
    <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>
       <load-on-startup>1</load-on-startup>
    </servlet> <servlet-mapping>
      <servlet-name>action</servlet-name>
      <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    </web-app>请各位帮我看一看吧,我实在不知道是怎么回事了,谢谢大家。
      

  5.   

    总结SSH整合 http://www.phome.asia/forum/thread/16007.html
      

  6.   

    可能是包之间的冲突问题。看看他们jar文件有没有重的
      

  7.   

    很可能是Hibernate与Spring的包发生冲突
    试着将Hibernate的三个包删除
    asm.jar
    asm-attrs.jar
    cglib-2.1.3.jar
      

  8.   

    既然是加上hibernate 才有问题  看下你spring的包和hibernate的包 有没有冲突