• s2sh的MVC执行流程和执行原理


    =======================执行流程

    1. 从页面开始,提交表单或者点击链接会触发一个action

    2. action交给struts2处理,读取src目录struts.xml文件,在配置中找到对应的action

    3. 根据class="XXXAction"交给Spring(为什么struts的action会交给spring处理呢?

      原因是:Struts2提供一个jar包:struts2-spring-plugin-2.1.2.jar,有个struts.properties文件配置了这样一句话:struts.objectFactory.spring.autoWire = name。

    也就是有了上面那个jar包之后,根据name自动提交给Spring处理),读取Spring容器的配置文件/WebRoot/WEB-INF/applicationContext.xml文件。 根据applicationContext.xml配置文件找到xxx.xxx.action.xxxAction类,

    其中有一个属性xxxService,并提供了setxxxService()方法,由applicationContext.xml文件得知该xxxService对象由Spring容器依赖注入,set注入。

    4. 取得xxxService对象(接口对接口实现类的一个引用)后,调用它的方法。后面的就是访问DAO了,一长串省略号代替

    5.执行的结果会在action的对应的方法中以字符串的形式给出。然后根据配置文件中的result.找到下一步要执行的动作,是跳转到页面显示还是继续交给其他的action处理。

    6. 显示页面。 =========================

    执行原理

    在struts-config.xml 中的action的type实现spring 的请求代理 。

    而在spring的配置文件中对action类进行注入。

    action类中注入service 而在service中注入dao. 当服务器起动时,spring会对类自动设置 。

    当访问*.do时。它的执行的顺序。

    从action --->service----->dao.然后反回。

  • 相关阅读:
    js之展开收缩菜单,用到window.onload ,onclick,
    根据python上下文管理,写一个在读文件内容前后自动打开关闭文件的程序
    自定义高级版python线程池
    htmlParser的使用-链接
    shell单例-处理方案
    shell脚本默认变量值
    shell文件相关指令
    linux常用端口
    hbase离线定时入库shell脚本-小栗子
    shell 查看系统有关信息
  • 原文地址:https://www.cnblogs.com/kuangyuping/p/3892161.html
Copyright © 2020-2023  润新知