zoukankan      html  css  js  c++  java
  • 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.然后反回。

  • 相关阅读:
    ubuntu16.04本地软件源搭建
    2080TI显卡ubuntu16.04机器学习安装和克隆
    PLSQL导入excel数据方法
    只有英伟达显卡输出口的电脑安装ubuntu系统记录
    百度人脸识别学习
    http application/x-www-form-urlencoded 模式响应学习
    JS中继承的几种实现方式
    浅拷贝和深拷贝
    防抖和节流
    HTML知识点总结
  • 原文地址:https://www.cnblogs.com/kuangyuping/p/3892161.html
Copyright © 2011-2022 走看看