zoukankan      html  css  js  c++  java
  • Struts2的运行原理和运行与原理

    Struts2

    struts2的流程图

    运行机制

    1、客户端发送请求、通过ActionContextLoader调用FilterDispatcher(struts)

    2、FilterDispatcher通过ActionMapper来决定这个Request需要调用哪个Action

    3、如果ActionMapper决定调用某个Action,FilterDispatcher把请求的处理交给ActionProxy

    4、ActionProxy根据ActionMapping和ConfigurationManager找到需要调用的Action类,ActionProxy创建一个ActionInvocation的实      例,  最终ActionInvocation调用真正的Action类

    5、Action执行完毕,ActionInvocation负责根据Struts.xml的配置返回结果,并呈现给浏览器。

    运行原理

      客户发送请求到tomcat,这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextLoader的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助),这时FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定调用哪个Action,当ActionMapper决定调用哪个Action以后,FilterDispatcher把请求交给Action的代理ActionProxy来处理,ActionProxy通过Configuration Manager读取struts的配置文件,根据配置信息决定调用哪个Action类,Action执行完毕,ActionInvocation在struts配置文件中根据result标签找到对应的返回视图,并返回数据,并呈现给浏览器。

     

    以上是本人对struts2的理解,如果发现错误及时评论,在此感谢!!!

    对于struts2框架开发,本人在excel文档中做了一个框架搭建指南

    https://files.cnblogs.com/files/lwl-cnblogs/struts2-%E6%90%AD%E5%BB%BA.zip

    使用工具:

    IDE:MyEclipse10.7

    WEB服务器:Tomcat7
    Struts版本:1.3

    
    

     

     

  • 相关阅读:
    MyBatis总结六:resultMap详解(包含多表查询)
    MyBatis总结五:#{}和${}的用法和区别
    MyBatis总结四:配置文件xml详解
    MyBatis使用动态代理报 invalid bound statement (not found) 错
    MyBatis总结三:使用动态代理实现dao接口
    MyBatis总结二:增删改查
    session详解&和cookie的区别
    cookie详解
    C#属性器Get和Set
    ORM实例介绍
  • 原文地址:https://www.cnblogs.com/lwl-cnblogs/p/5642349.html
Copyright © 2011-2022 走看看