Struts2的MVC思想


  1. MVC思想概述

             MVC思想将一个应用分成三个基本部分:Model(模型)、View(视图)、Controller(控制器),这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。

             在经典的MVC模型中,事件由控制器处理,控制器根据事件的类型改变模型或视图,反之亦然。具体地说,每个模型对应一系列的视图列表,这种对应关系通常采用注册来完成,即:把多个视图(View)注册到同一个模型(Model),当模型发生改变时,模型向所有注册过的视图发送通知,接下来,视图从对应的模型中获得信息,然后完成视图显示的更新

             MVC有一下特点:

  1. 多个视图可以对应一个模型。按MVC设计模式,一个模型对应多个视图,可以减少的复制及代码的维护量,一旦发生改变,也易于维护

  2. 模型返回的数据与显示逻辑分离。模型数据可以应用任何的显示技术,例如:JSP页面、Excell文档等。

  3. 应用被分隔为三层,降低各层之间的耦合,提供了应用的可扩展性。

  4. 控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求。因此,控制层可以说是包含了用户请求权限的概念。

  5. MVC更符合软件工程化管理精神。

  1. MVC模式的java Web实现

                   如下是Struts2MVC实现浏览器请求/服务器响应的完整流程图

技术分享

         Struts2是一个非常优秀的MVC框架。Struts2允许使用普通的、传统的Java对象作为ActionActionexecute()方法不在于Servlet API耦合,因而更易测试;支持更多的视图技术;基于AOP思想的拦截器机制,提供了极好的可扩展性;更强大、更易用的输入校验功能;整合的Ajax支持等,这些都是Struts2的巨大吸引力。

         Servlet作为前端控制器,负责接受客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理;然后,调用后端JavaBean来完成实际的逻辑处理;最后转发到相应的JSP页面处理显示逻辑。Jsp不再承担控制器的责任,它仅仅是表现层角色,仅仅用于将结果呈现给用户,Jsp页面的请求与Servlet(控制器)交互,而Servlet负责与后台的JavaBean通信。模型(Model)由JavaBean充当,视图(View)由Jsp页面充当,而控制器(Controller)则由Servlet充当。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。