博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts的工作流程
阅读量:6413 次
发布时间:2019-06-23

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

-  一个请求过来,走前端控制器StrutsPrepareAndExecuteFilter

        -前端控制器是一个过滤器,过滤器中的核心方法是doFilter(),doFilter方法中首先处理了字符集,然后将request和response方法 放到ThreadLocal中
        ,表示线程安全
        -接下来,判断是否是一个action请求,如果是.action结尾的,那么继续走struts的流程;否则跳转视图
        -判断ActionMapping对象是否为空,如果为空,跳转视图;否则继续走流程
        -创建ActionProxy对象,在创建ActionProxy,创建了一个struts的核心对象ActionInvocation,ActionInvocation贯穿了struts的执行流程
        ,因为代理、目标、拦截器、结果都在ActionInvocation的实例变量位置上
        -代理对象调用ActionInvocation的初始化方法init方法,在这个方法中,创建真正的目标action。在创建目标对象的时候,使用的是struts2提供的
            对象工厂ObjectFactory,将创建好的action复制给ActionInvocation的成员变量
        -取得20的默认的拦截器,放到ActionInvocation对象的迭代器上
        -调用actionProxy对象的execute方法
        -ActionInvocation上的invoke会被调用
        -调用20个拦截器,拦截器执行完毕后,会调用目标对象的execute方法
        -目标对象的execute方法执行结束后,返回字符串,根据这个字符串,struts2的ObjectFactory对象会创建一个result对象,result对象指向具体视图
        -拦截器出栈,Response响应给客户端

转载于:https://www.cnblogs.com/sharpest/p/7717757.html

你可能感兴趣的文章
怎么判断冠词用a还是an_葡语干货 | 葡萄牙语冠词用法整理大全
查看>>
js传参不是数字_JS的Reflect学习和应用
查看>>
三个不等_数学一轮复习05,从函数观点看方程与不等式,记住口诀与联系
查看>>
卡尺测量的最小范围_汽车维修工具-测量用具
查看>>
网优5g前景_5G网络优化师前景怎么样?
查看>>
竞态条件的赋值_[译] part25: golang Mutex互斥锁
查看>>
delmatch oracle_完美完全卸载(清除)oracle数据库的方式(方法)
查看>>
pyqt 滚动条 美化_Pyqt5 关于流式布局和滚动条的综合使用示例代码
查看>>
51单机片 编译hex_单片机爬坑记-05-编译环境(完)
查看>>
java 正则表达式 img_Java正则表达式获得html字符串里的<img src=""/> 中的url列表
查看>>
java 文件crc校验_一个获取文件crc32校验码的简洁的java类 | 学步园
查看>>
java flatmapfunction_Java8 Stream flatmap中间操作用法解析
查看>>
java rmi spring 4.0_Java Spring RMI一些尝试
查看>>
JAVA怎么连接华为的HDFS系统_JAVA-API操作HDFS文件系统(HDFS核心类FileSystem的使用)...
查看>>
java牛客网四则运算_数据库刷题—牛客网(51-61)
查看>>
Java get set6_JDK6的新特性(转)
查看>>
java发送邮件 不登陆_Java邮件到Exchange Server“不支持登录方法”
查看>>
编程学习初体验(5. 如何自学编程)(2)
查看>>
思科ISR G1与ISR G1C的区别
查看>>
利用perl提取web配置文件中的域名对应的路径
查看>>