MVC以及Struts2工作流程
2012-08-29 13:18
295 查看
MVC是一种软件架构的思想,将一个软件系统划分成三种不同类型的模块,分别是模型(model),用于封装业务逻辑。视图(view),提供用户操作的接口(提供业务数据的展现,并且,用户也可以通过视图来提交请求)。控制器(controller),将视图与模型解耦,也就是说视图要向控制器发送请求,由控制器来决定调用哪一个模型来处理,反过来,模型处理之后的结果也交给控制器,由控制器来选择合适的视图来展现。
Model:使用java类来实现(也可以使用spring容器管理的javabean,ejb等)
View:使用jsp
Controller:使用servlet或者filter
优点:
1.
model可以被多个view共享,model处理之后的结果可以使用不同的界面来展现,多种不同类型的界面,可以调用相同的model
来处理。
2.
model可以当便测试(如,将业务逻辑写在了servlet力需要部署servlet然后才能测试)如果也业务逻辑写在一个java类当中,测可以立即测试
3.
方便分工合作
4.
方便代码的维护
缺点:
增加代码量(相应的开发周期要延长,并且,要相应增大了设计的难度)。所以,一般来说,对于需要良好的可维护性且项目规模比较大的项目可以用MVC
。
Struts2框架的工作流程图
Struts2框架的工作流程
1)
服务器启动,创建StrustsPrepareAndExecuteFilter对象,并解析struts.xml配置文件
2)
客户端发出action请求后,控制器会调用ActionMapper(Action映射器)完成请求与Action组件之间的映射,便于调用Action处理
3)
通过ActionMapper处理后,接着调用ActionProxy(Action代理)提取请求对应的配置文件信息,创建ActionInvocation(Action执行者)对象,ActionProxy通过ConfigurationManager(配置管理器)解析和获取struts的配置信息
4)
通过ActionInvocation完成拦截器、Action和Result组件的调用
5)
生成响应信息后,为客户端响应
Model:使用java类来实现(也可以使用spring容器管理的javabean,ejb等)
View:使用jsp
Controller:使用servlet或者filter
优点:
1.
model可以被多个view共享,model处理之后的结果可以使用不同的界面来展现,多种不同类型的界面,可以调用相同的model
来处理。
2.
model可以当便测试(如,将业务逻辑写在了servlet力需要部署servlet然后才能测试)如果也业务逻辑写在一个java类当中,测可以立即测试
3.
方便分工合作
4.
方便代码的维护
缺点:
增加代码量(相应的开发周期要延长,并且,要相应增大了设计的难度)。所以,一般来说,对于需要良好的可维护性且项目规模比较大的项目可以用MVC
。
Struts2框架的工作流程图
Struts2框架的工作流程
1)
服务器启动,创建StrustsPrepareAndExecuteFilter对象,并解析struts.xml配置文件
2)
客户端发出action请求后,控制器会调用ActionMapper(Action映射器)完成请求与Action组件之间的映射,便于调用Action处理
3)
通过ActionMapper处理后,接着调用ActionProxy(Action代理)提取请求对应的配置文件信息,创建ActionInvocation(Action执行者)对象,ActionProxy通过ConfigurationManager(配置管理器)解析和获取struts的配置信息
4)
通过ActionInvocation完成拦截器、Action和Result组件的调用
5)
生成响应信息后,为客户端响应
相关文章推荐
- Asp.net MVC的Model Binder工作流程以及扩展方法(1) - Custom Model Binder
- Struts2 之入门以及工作流程
- Struts2的工作流程以及原理
- Asp.net MVC的Model Binder工作流程以及扩展方法(1)
- Asp.net MVC的Model Binder工作流程以及扩展方法(3) - DefaultModelBinder
- Asp.net MVC的Model Binder工作流程以及扩展方法(2) - Binder Attribute
- Struts2知识点回顾(五)拦截器的工作流程以及如何实现
- struts2工作流程
- .NET与java的MVC模式(2):struts2核心工作流程与原理
- Struts2 工作流程和简要流程
- struts2详细工作流程
- struts2工作流程
- struts2核心工作流程与原理
- struts2基础知识和工作流程
- struts2核心工作流程与原理
- struts2核心工作流程与原理
- struts2---简介及简单工作流程
- 工作中的登录流程以及代码备份
- Struts2的工作流程
- Struts2 的工作流程