美文网首页
Struts2工作原理

Struts2工作原理

作者: 小沙鹰168 | 来源:发表于2017-09-25 11:05 被阅读0次

    struts2请求响应流程:

    在struts2的应用中,从用户请求到服务器返回相应响应给用户端的过程中,包含了许多组件如:Controller、ActionProxy、ActionMapping、Configuration Manager、ActionInvocation、Inerceptor、Action、Result等。下面我们来具体看看这些组件有什么联系,它们之间是怎样在一起工作的。

    Paste_Image.png

    (1) 客户端(Client)向Action发用一个请求(Request)
    (2) Container通过web.xml映射请求,并获得控制器(Controller)的名字
    (3) 容器(Container)调用控制器(StrutsPrepareAndExecuteFilter或FilterDispatcher)。在Struts2.1以前调用FilterDispatcher,Struts2.1以后调用StrutsPrepareAndExecuteFilter
    (4) 控制器(Controller)通过ActionMapper获得Action的信息
    (5) 控制器(Controller)调用ActionProxy
    (6) ActionProxy读取struts.xml文件获取action和interceptor stack的信息。
    (7) ActionProxy把request请求传递给ActionInvocation
    (8) ActionInvocation依次调用action和interceptor
    (9) 根据action的配置信息,产生result
    (10) Result信息返回给ActionInvocation
    (11) 产生一个HttpServletResponse响应
    (12) 产生的响应行为发送给客服端。

    客户端--请求--->FilterDispatcher-->ActionMapper-----拦截器-->Action
    | | |
    | struts.xml 拦截器
    | |转发
    <--------------------------响应<---------------------------------jsp

    1)客户端向容器(如Tomcat)提交一个请求
    2)请求经过一系列过滤器,核心控制器FilterDispatcher 被调用
    3)ActionMapper来决定请求是否需要调用某个Action
    4)如果ActionMapper通过struts.xm决定需要调用某个Action,在此之前会依次调用所有配置的拦截器
    5)Action执行完毕,根据结果字符串在struts.xml的配置中找到对应的返回结果
    6)拦截器被再次执行
    7)跳转到指定的jsp 页面
    8)响应给客户端

    相关文章

      网友评论

          本文标题:Struts2工作原理

          本文链接:https://www.haomeiwen.com/subject/drvrextx.html