• struts2运行流程


      Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开。

    首先看一个简单的系统开发流程图(没有框架的时候):

    struts中ognl表达式用于把model层上的展示在jsp上。

    1.启动服务,加载web.xml实例化StrutsPrepareAndExecuteFilter过滤器

    2.在实例化StrutsPrepareAndExecuteFilter的时候会执行过滤器中的init方法加载struts.xml

    3.浏览器发起请求,会被StrutsPrepareAndExecuteFilter拦截到,根据请求的uri(hello)找到相应的Action类,并且创建Action对象,执行相应的hello方法。

    4.返回视图标志,展示success.jsp

    用一张图来描述一下Struts2的运行流程:注(action充当MVC中的M和C。)

     更加深入的还有拦截器运行过程。

     

    服务器启动时实例化StrustPrepareAndExecuteFilter,读取struts所有的配置文件,把struts.xml中的每一个Action实例化,当一个请求访问的时候,StrustPrepareAndExecuteFilter会把请求拦截下来,匹配一个ActionMapper,然后ActionMapper创建ActionProxy,然后去执行默认拦截器栈,在执行Action,然后返回结果,然后默认拦截器再反向执行(做一些运行期的监控和清理工作,不是每一个拦截器都执行后置拦截),最后响应结果返回给页面。

  • 相关阅读:
    专题3.基金投资与策略(中低风险
    专题1. 投资理财概述与货币市场工具(低风险)
    七.风险防范与风险控制(风险分析)
    八.投资组合与估值
    五.固定收益类产品投资策略(投资分析)
    软考倒计时19天
    前三章
    软考倒计时21天:9大管理工具技术
    软考倒计时22天
    软考倒计时23天
  • 原文地址:https://www.cnblogs.com/ljq2622/p/10471812.html
Copyright © 2020-2023  润新知