您的位置:首页 > 编程语言 > Java开发

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)
生成响应信息后,为客户端响应
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: