3.struts2 结构
来源:互联网 发布:java 获取运行时异常 编辑:程序博客网 时间:2024/06/05 18:41
Struts与webwork已合并为struts2框架,struts2框架良好的扩展性与简洁性使其适用于任何规模的企业web程序的开发。本节我们将向大家展示struts2框架的结构
在struts2中一个请求的生存周期:
1. 用户发送请求 : 用户为访问资源向服务器发送请求。
2. FilterDispatcher决定适当的action : FilterDispatcher接受请求然后决定调用适当的action
3. 调用拦截器 : 配置拦截器来应用常用的功能如工作流,验证,文件上传等,都是自动应用于请求的。
4. action的执行 : 然后action将被执行来调用诸如存储数据、检索数据之类的数据库相关操作。
5. 呈递输出 : 结果呈递到输出
6. 返回请求 : 请求通过拦截器按照相反的顺序返回,返回的请求可以允许我们执行一些清理或额外的处理
7. 向用户展示结果 : 控制权最终回归到输出结果至用户浏览器的Servlet容器
图:struts2中请求流程的高度概括
Struts2 结构 :
Struts2框架拥有良好的简洁性与易扩展的前端控制器,基于很多像Java Filters, Java Beans, ResourceBundles, XML等标准技术。
对于模型层来说,struts2可以使用任何数据访问技术,像JDBC, EJB, Hibernate等,对于视图层来说,struts2可以与JSP, JTL, JSF, Jakarta Velocity Engine, Templates, PDF, XSLT等整合。
异常处理 :
Struts2允许我们定义异常处理器和拦截器
l 异常处理器
异常处理器允许我们定义基于局部和全局的异常处理程序.struts2捕获到异常后会将恰当的信息和异常的详情显示在我们指定的页面上。
l 拦截器
拦截器详细说明了一个action的请求流程的生存周期.配置的拦截器对请求实现了一些常用的功能如工作流,验证等.
Struts2 结构
下图描述了struts2的结构,同时展示了初始请求如何转到像Tomcat这类的serlet容器,然后通过过滤链
图 : struts2 结构
过滤器链包括 :
l Action ContextCleanUp filter :
Action ContextCleanUp filter是可选的,当与其他的技术如SiteMash插件整合的时候会很有帮助.
l FilterDispatcher :
接着FilterDispatcher被调用,然后依次调用ActionMapper来决定是不是要引用一个action.如果一个action需要被引用, FilterDispatcher将托付ActionProxy来管理
l ActionProxy :
Action代理能从初始化自struts.xml的配置文件管理器那得到帮助,接着ActionProxy创建一个实现了命令模式的ActionInvocation,ActionInvocation在处理的过程中调用拦截器(如果配置了)然后调用Action ActionInvocation寻找恰当的结果,然后结果呈递到JSP或者模板上。
之后拦截器再按照相反的顺序执行了一遍,最终响应通过配置在web.xml中的过滤器返回.如果配置了ActionContextCleanUp filter, FilterDispatcher不会清理线程局部ActionContext.如果ActionContextCleanUp filter没有被配置, FilterDispatcher会清理所有当前的线程局部.
本章我们学习了Struts2框架的结构.
- 3.struts2 结构
- Struts2 结构
- struts2.xml配置结构
- Struts2.xml结构
- Struts2的结构
- struts2 xwork微观结构
- struts2 组成结构
- struts2+Dtree简单树形结构
- struts2 struts.xml的结构
- struts2树结构加超级链接
- struts2的值栈结构
- struts2.xml文件的结构
- 简单Struts2的目录结构
- 【Struts2源码分析】Struts2框架的大致结构
- Struts2学习总结(一):Struts2结构体系
- struts2 框架 struts.xml文件结构
- Struts2 中下拉框中采用树形结构实现
- Struts2 标签库、树形结构资料大全
- 新手之--Struts2学习总结(404异常)。。。
- 转换时间设定时间格式
- 重新开始忙碌!!!
- 经典SQL语句收集(ORACLE)
- page 的种类,swap的选择
- 3.struts2 结构
- 用Oracle10g带的instant client连接Oracle,无需安装oracle客户端
- JAVA不支持闭包将直接影响桌面应用推广
- 用JavaScript做的精美计算器 - 飞旋碟转
- ServiceMix 中使用file组件时出现无效的property的错误问题的解决
- 3.Struts 2 Architecture
- 接入号最长匹配的两种sql语句
- Java集合常用类特点
- Head First C# 中文版 图文皆译 第六章 继承 page222