博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2学习笔记1--Struts2简介
阅读量:4884 次
发布时间:2019-06-11

本文共 896 字,大约阅读时间需要 2 分钟。

1、Struts2的产生

  由于Struts1设计上的缺陷,使它越来越不能满足开发的高要求,于是WebWork进入Struts1开发团队的视线。WebWork引进的新思想、新概念和功能,Struts1具有高市场占有率,于是2个开发团队进行了合作,共同退出了Struts2。

  虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

       

         (图1:Struts2的产生)

2.Struts2的结构  

  一个请求在Struts2框架中的处理分为以下几个步骤:

    2.1 客户端发出一个Http请求到web容器;

    2.2 这个请求会经过图中的几个过滤器(ActionContextCleanUp、其他web应用过滤器),最后会到达FilterDispatcher过滤器(最新版本2.3.16中使用StrutsPrepareAndExecuteFilter);

    2.3 调用FilterDispatcher核心控制器,ActionMapper查找需要调用的Action对象,返回Action对象的代理(ActionProxy);

       2.4 ActionProxy从配置管理器中读取Struts2的相关配置(struts.xml以及它包含的.xml配置文件),然后创建ActionInvocation对象;

    2.5 ActionInvocation在调用Action之前会依次的调用所用配置拦截器,执行结果后返回结果字符串;

    2.6 ActionInvocation负责查找结果字符串对应的(Result),然后执行这个Result, 返回对应的结果视图(如JSP、ftl等) 来呈现页面;

    2.7 调用所用配置拦截器(与2.5中顺序相反),响应(HttpServletResponse)被返回给浏览器。

                    

                                                                                                              (图2:Struts2的结构)

 

转载于:https://www.cnblogs.com/sunny08/p/4119479.html

你可能感兴趣的文章
python 中的pipe
查看>>
(SQL Analyzer services)定义链接维度
查看>>
squid
查看>>
系统开发管理、架构与设计步步谈随笔索引
查看>>
Java的时间空间复杂度详解
查看>>
有效防止SQL注入漏洞
查看>>
Linux chown命令
查看>>
十、I/O流——4-输入、输出流体系
查看>>
十二、网络编程——4-基于UDP协议的网络编程
查看>>
异常处理与调试6 - 零基础入门学习Delphi55(完)
查看>>
if语句三种形式
查看>>
正则表达式之字符串验证
查看>>
codeblocks如何支持_tmain?可移植代码的编码推荐
查看>>
省市联动 填坑
查看>>
canvas写的一个小时钟demo
查看>>
原来今天是冬至
查看>>
又混了一天班
查看>>
九度oj 1006
查看>>
HDU6400-2018ACM暑假多校联合训练1004-Parentheses Matrix-构造
查看>>
最短路问题专题
查看>>