<global-results>
          <result name="login" type="redirect">/login.jsp</result>
       </global-results>
换成
       <action name="toLogin">
            <result name="success">/login.jsp</result>
        </action>
        <global-results>
             <result name="login" type="redirect">toLogin</result>
       </global-results>

解决方案 »

  1.   


    按你说的配置也不可以啊
    应该不是struts.xml配置的问题
    好像就完全不执行拦截器 我单独新建立项目只添加struts的包 测试这样配置是起作用的
    但整合了spring、hibernate后就完全不起作用了
    是不是applicationContext.xml中需要配置什么?
      

  2.   

    拦截器少了一个参数 
    <param name="includeMethods">这个加上要拦截的方法名,多个方法用逗号隔开<param>
    同样的还有个excludeMethods参数  设置不需要拦截的方法
      

  3.   

    谢谢了 
    不过我是要拦截所有方法的
    只要是action都拦截 
    我知道这两个方法
    应该是SSH整合后出现的问题的
    建立一个新的项目,只添加struts,以上代码是没有问题的
    不知道applicationContext.xml有没有错,以下是:
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">
    <property name="driverClass"><value>com.mysql.jdbc.Driver</value></property>
    <property name="jdbcUrl">
    <value>jdbc:mysql://localhost:3306/music?useUnicode=true&amp;characterEncoding=utf8</value>
    </property>
    <property name="user"><value>root</value></property>
    <property name="password"><value></value></property>
    <property name="minPoolSize"><value>5</value></property>
    <property name="maxPoolSize"><value>30</value></property>
    <property name="initialPoolSize"><value>10</value></property>
    <property name="maxIdleTime"><value>60</value></property>
    <property name="acquireIncrement"><value>5</value></property>
    <property name="maxStatements"><value>0</value></property>
    <property name="idleConnectionTestPeriod"><value>60</value></property>
    <property name="acquireRetryAttempts"><value>30</value></property>
    <property name="breakAfterAcquireFailure"><value>true</value></property>
    <property name="testConnectionOnCheckout"><value>false</value></property>
    </bean>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
    <ref local="dataSource" />
    </property>
    <property name="mappingResources">
    <list>
    <value>com/music/bean/User.hbm.xml</value>
    <!-- 其它.hbm.xml文件 -->
    </list>
    </property>
    <property name="hibernateProperties">
    <props>
    <prop key="hibernate.dialect">
    org.hibernate.dialect.MySQLDialect
    </prop>
    <prop key="hibernate.show_sql">true</prop>
    <prop key="hibernate.autoReconnect">true</prop> 
    </props>
    </property>
    </bean>
    <!-- 配置事务管理器 -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <!-- 对user表的操作 -->
    <bean id="userDao" class="com.music.dao.impl.UserDAOImpl" scope="singleton">
    <property name="sessionFactory">
    <ref bean="sessionFactory" />
    </property>
    </bean>

    <!-- 服务层dao -->
    <bean id="userServiceTarget" class="com.music.service.impl.UserServiceImpl"
    scope="singleton">
    <property name="userDao" ref="userDao"></property>
    </bean>

    <!-- dao代理 -->
    <bean id="userService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="target" ref="userServiceTarget"></property>
        <property name="transactionManager" ref="transactionManager"></property>
        <property name="transactionAttributes">
         <props>
            <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
            <prop key="*">PROPAGATION_REQUIRED</prop>
         </props>
        </property>
    </bean> <bean id="saveUserAction" class="com.music.action.user.SaveUserAction"
    scope="prototype">
    <property name="userService" ref="userService"></property>
    </bean>

    <bean id="checkUserLoginAction" class="com.music.action.user.CheckUserLoginAction"
    scope="prototype">
    <property name="userService" ref="userService"></property>
    </bean>
    <bean id="findAllUserAction" class="com.music.action.user.FindAllUserAction"
    scope="prototype">
    <property name="userService" ref="userService"></property>
    </bean>
      

  4.   

    我现在写东西都用注解开发了,而且使用SSH确实几乎没用过拦截器,实在是不知道怎么回事了
      

  5.   

    <package name="struts-interceptor" extends="struts-default">

    <interceptors>
    <!-- 配置一个自定义拦截器 -->
    <interceptor name="l" class="com.mm.interceptor.LoginInterceptor"></interceptor>

    <!-- 配置一个拦截器集合,引入自定义的拦截器 -->
    <interceptor-stack name="m">
    <!-- 先引入系统默认的拦截器的集合 -->
    <interceptor-ref name="defaultStack" />
    <interceptor-ref name="l"/>
        </interceptor-stack>

    </interceptors>

    <!-- 重新设置默认拦截器 -->
    <default-interceptor-ref name="m"/>

    <!-- 全局结果,不再局限于某个具体的action而是对所有action中的跳转都能访问 -->
    <global-results> 
       <result name="global_login" type="redirect">/login.jsp</result>   
    </global-results>

    </package>引用拦截器的顺序问题,先引用默认的defaultStack试试