steps1-->Struct2-概述
快到年关了,公司也没什么事情,所以就开始总结一些基础知识来巩固自己。首先来看一下Struct吧。
Structs2相对与Struct1来说是一个全新的框架,是基于WebWork基础上发展起来的,是一个具有很好的实用价值的Web MVC框架。
MVC并不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,它是所有面向对象程序设计语言都应该遵守的规范。
MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。
言归正传,struts2使用拦截器作为处理(advice),以用户的业务逻辑控制器为目的,创建一个控制器代理。控制器代理负责处理用户请求,处理用户请求时回调业务控制器的execute方法,该方法的返回值将决定Struts2将怎样的视图资源呈现给用户。
Struts 2框架的大致处理流程如下:
1、浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等。
2、核心控制器FilterDispatcher根据请求决定调用合适的Action。
3、WebWork的拦截器链自动对请求应用通用功能,例如workflow、validation或文件上传等功能。
4、回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。
5、Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。