我对MVC的理解
来源:互联网 发布:java解析json数组传参 编辑:程序博客网 时间:2024/05/17 00:18
MVC(Model-View-Controller,模型—检视—控制器模式)是软件工程中的一种软件架构模式。它把软件系统分为三個基本部分:模型(Model),检视(View)和控制器(Controller)。
MVC最早由Trygve Reenskaug在1974年提出,是施乐帕羅奧多研究中心(Xerox PARC)在20世纪80年代为程式語言Smalltalk发明的一种软件设计模式。模型—检视—控制器模式的目的是實作一种动能的程式设计,使后绩对程式的修改和扩充套件见简化,並且使程式某一部分的重复利用成为可能。除此之外此模式透过对复难度的简化使程式结构更加直觉。软件系统透过对自身基本部份分离的同時也赋予了各个基本部分应有的功能。专业人员可以透过自身的专长分組:
- 控制器- 负责转发请求,对请求进行处理。
- 检视 - 介面设计人员进行圆形介面设计。
- 模型 - 程式设计师编写程式应有的功能(实作演算法等等)、资料库专家进行资料管理和资料库设计(可以实作具体的功能)。
模型(Model) 「资料模型」(Model)用于封裝应用程式的业务相关的资料以及对资料的处理方法。「模型」有对資料直接存取的权利,例如对资料库的存取。「模型」不依赖「检视」和「控制器」,也就是说,模型不关心它会被如何显示或是如何被操作。但是模型中资料的变化一般会透过一种重新整理机制被公布。为了实作这种机制,那些用于监视此模型的检视必须事先在此模型上注册,从而,检视可以了解在資料模型上发生的改变。(比較:观察者模式(软件设计模式)) 检视(View) 检视层能夠实作资料有目的的显示(理论上,这不是必需的)。在检视中一般沒有程式上的逻辑。為了实作检视上的重新整理功能,检视需要存取它监视的资料模型(Model),因此应该事先在被它监视的资料那里注冊。 控制器(Controller) 控制器起到不同层面间的组织作用,用于控制应用程式的流程。它处理事件並作出响应。「事件」包括使用者的行为和资料模型上的改变。 MVC模式就好比桌面程序中的事件监听模式。强制性地将输入、输出、处理分开,使代码的编写条理更清晰。在刚学习servlet时,随着页面和功能越来越丰富,页面独立,却和servlet高度地耦合在一起,使得程序和页面的联系看起来非常地乱,给继续开发也造成了障碍。然而MVC模式帮我们解决了servlet的代码不清晰的问题,MVC结构帮我们把web的请求分开了来使我们能更好的来管理自己的servlet的结构,通过一个总的servlet来接受请求同时将这个请求转发到action上去,让action来进行处理和与数据库进行数据交互同时将数据处理后得到的页面地址传给接受请求的总servlet上在请求页面后传给web进行显示。 在MVC中我们只使用到一个servlet,
为了便与系统的扩展,我们使用servlet请求路径可以模糊配置的特点,将所有的用户请求都发给主控servlet。那么后台servlet中如何区分用户是何种(需要用什么样的逻辑处理)请求呢?我们在web.xml定义,在servlet的配置文件中我们将定义一个请求服务的后缀名例如下面代码中定义的就是.netjava他将所有的与这个servlet有观的请求以后缀名为.netjava结尾的请求都通过这里得到。
关键规则:所有请求的路径的格式为 我们的MVC理框架结构有五部分组成: 2. 3. 4. 所有的请求在 servlet 的 service() 方法中处理。结构图如下: MVC代码的实现。 我们先创建一个webservlet的项目在该项目下创建一个dbulit的包,到dao类包pojo类包在创建一个主控servlet类包,再写接口包和actionFctory包在创建实现action的包在写代码时我写的部分代码如下 {
命令名字}.netjava<?请求参数>
1.
ControllerServlet.java:
请求分发控制器,解析请求中的动作名字,调用动作工厂对象生成的动作对象处理请求,处理后返回的结果为目地url,控制器再将请求和应答对象转向目标url。ActionFactory.java:
该工厂类将请求中的动作名转换成 servlet 可以用来完成其工作的动作类。Action.java:
接口类,该接口定义所有动作的公共接口。具体Action的实现类:
指实现了Action接口的类,会被ActionFactory工厂根据请求中的名字创建,从而调用其具体实现的方法处理Request/Response对象后,返回一个URL由主控Servlet转发给用户。可以理解为,为一个具体的Action实现类用于处理页面上每一种用户点击(请求)
上面是主控servlet和actionfactory类主控servlet写了接受请求和得到请求的信息再对该信息进行处理之后将该信息交给对应的action进行处理再将处理之后的信息通过请求页面返还给web页面。Actonfactory类实现了在整个servlet中只存在一个action如果在servlet中存在就不创建action不存在就创建一个保证在servlet中永远只有一个servlet。
- 我对MVC的理解
- 我对MVC的理解
- 我对MVC的理解
- 我对mvc的理解
- 我对JSF的MVC理解
- 我对构架MVC的理解
- 我对mvc模式的一些理解
- 我对MVC分层的理解
- 我自己对mvc的理解
- 谈谈我对MVC的View层实现的理解
- 对MVC的理解
- 对MVC的理解
- 对MVC的理解
- 对MVC的理解
- 对MVC的理解
- 对mvc的理解
- 对MVC的理解
- 对MVC的理解
- 用jquery仿google动态补全简单例子
- 我对MVC的理解
- W3School Online
- 俄罗斯方块代码
- 我对MVC的理解
- 我对MVC的理解
- Mary Trevers 的震撼
- 服务器数据库优化
- TL2内存申请和释放的管理
- ansys 不同单元连接问题
- Eclipse中【我们该知道,却不知道的】快捷键
- 何为java平台?
- 在Linux下的进程资源的限制(struct rlimit)详解
- hibernate 缓存机制