zoukankan      html  css  js  c++  java
  • spring 整合struts

    1.例子:未被spring整合

    struts.xml 的配置文件

        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <constant name="struts.configuration.xml.reload" value="true"/>
        <!--配置扩展名 .do-->
        <constant name="struts.action.extension" value="do"></constant>
    
        <package name="default" namespace="/" extends="struts-default">
    <!-- {1} 代表第一个*  {2} 代表第二个*   -->
            <action name="*_*" class="com.test.controller.{1}Action" method="{2}">
                <result name="success">index.jsp</result>
            </action>
        </package>

    注意这个配置,全类名。 struts 通过actionMaping 的配置找到这个类

    测试:调用com.test.controller 包下的StudentAction 这个类的doGetStudentInfo()方法

    前台调用这个action的方式  就是

    注意:这里是Student首字母大写,是StudentAction 的前半部分

    2. 例子:spring整合之后

    struts.xml 的配置文件

    <struts>
    <!--由spring 取代struts 创建对象的实例 -->
        <constant name="struts.objectFactory" value="spring" />
        <!--配置spring自动装配实例-->
        <constant name="struts.objectFactory.spring.autoWire" value="true"></constant> 
        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <constant name="struts.configuration.xml.reload" value="true"/>
        <!--配置扩展名 .do-->
        <constant name="struts.action.extension" value="do"></constant>
    
        <package name="default" namespace="/" extends="struts-default">
    
            <action name="*_*" class="{1}Action" method="{2}">
                <result name="success">index.jsp</result>
            </action>
        </package>
    
        <!-- <include file="example.xml"/> -->
    
    </struts>

    注意这个地方:已经变成了spring 自动创建的beanid,这里自动创建的beanid 是通过注解生成的

      

    这个注解生成的beanid 是studentAction  ,注意这里的首字母是小写,这是spring创建实例的时候转化的。

    测试:前台进行访问

    报错:原因,时候应为这时候要调用的action 实例名已经是studenAction 而不是StudentAction

    正确。

    此时spring配置文件不用特别的设置配置,已经将spring 和 struts 整合完毕

  • 相关阅读:
    linux 添加、删除 route
    linux 添加、删除 ip
    oracle virtualbox 添加共享硬盘2
    centos 7.4 + udev + 12.2.0.1 + asm 单点安装
    initdb 简介
    EBS 修改数据库用户apps、网页登录用户sysadmin密码
    postgresql 的几个 timeout 参数
    postgresql 控制命令执行时长 statement_timeout
    postgresql 连接客户端存在 CLOSE_WAIT、TIME_WAIT 状态
    postgresql lsn/location 获取 wal/xlog 文件名
  • 原文地址:https://www.cnblogs.com/blogxiao/p/7599647.html
Copyright © 2011-2022 走看看