Struts2学习
来源:互联网 发布:精算 知乎 编辑:程序博客网 时间:2024/06/07 05:36
Struts2的工作原理:
(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) 产生的响应行为发送给客服端。
为什么使用Struts2代替Struts1.x
- Struts2的execute方法中的参数不会依赖serverletAPI,实现了和servlet解耦,是一种无侵入式的解耦。
- Struts2提供了拦截器,利用拦截器可以进行aop编程,实现权限拦截功能。
- Struts2提供了类型转换器,我们可以很容易的将请求参数转换成需要的类型。
- 提供了同种表现层技术,如Jsp、freeMaker、velocity等。
- 可以对指定的方法进行校验,可以轻松的实现表单的校验功能。
- 提供了全局范围、包范围和antion范围的国际化资源文件管理。
0 0
- [Struts2]Struts2学习总结
- Struts2 学习
- Struts2学习
- 学习struts2
- 学习struts2
- 学习struts2
- 学习Struts2
- Struts2学习
- struts2学习
- 学习struts2
- struts2学习
- struts2学习
- struts2学习
- struts2学习
- struts2学习
- Struts2学习
- struts2学习
- struts2学习
- VirtualBox虚拟机迁移方法
- 1栈和队列--设计一个有getMin功能的栈
- 查看u3d模型的面数
- DataTable的用法小结
- unix网络编程(一)第一个例子
- Struts2学习
- 对于空间的理解
- ubuntu 14.04 配置android编译环境
- shell总结
- 团队在Github上协同开发项目流程
- REMODE+ORBSLAM运行配置(1) 把ORB编译成ROS工程
- 前端优化极限推荐(百度页面优化方案)
- MySQL主从复制架构搭建及读写分离测试
- js中实现三级联动效果