MVC设计模式MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。 用我自己的简单理解就是说,M用于处理逻辑,V为和用户交互的界面,C为控制器。使用MVC的目的就是把M和V的代码分离。从而同一个程序可以使用不同的表现形式。比如一个数据库的表。在跟用户交互的时候可以是柱状图,也可以是饼状图。而C的作用就是实现M和V的同步,一旦M改变,V也要跟着改变。 MVC的优点l 低耦合性:很容易改变数据层和业务规则。 l 高重用性和可适用性:允许你使用各种不同样式的视图来访问同一个服务器端的代码。举个例子,比如我们对QQ农场的操作可以使用FLASH端程序,也可以使用手机来操作。 l 较低的生命周期成本:MVC使降低开发和维护用户接口的技术含量成为可能。 l 快速的部署:开发时间得到相当大的缩减,它使程序员(Java)集中精力于业务逻辑,界面程序员(HTML/JSP)集中精力于表现形式上。 l 可维护性:分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。 l 有利于软件工程化管理:由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。 Frameworkl 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 l 基于请求响应模式的应用框架,基本上有如下几个表现逻辑结构组成。 — 控制器:控制整个框架中各个组件的协调工作。 — 业务逻辑层:对于框架本身来说仅仅只是概念和几个提供服务的基础组件,真正的业务逻辑还是需要开发人员扩展。 — 数据逻辑层:绝大多数应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。 Struts的概念和体系结构Struts有一组相互协作的类、Servlet以及JSP TagLib组成。基于Struts构架的web应用程序符合Model2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对Struts是一个web framework,而不仅仅是一些标记库的组合。但Struts也包含了丰富的标记库和实用程序类。 ActionAction中最重要的就是execute方法,它负责执行相应的业务逻辑,如果需要,它也进行相应的数据检查。执行完成之后,返回一个字符串对象,控制器通过该字符串对象来进行转发工作。 第一个Struts1、新建一个helloworld.jsp,在body内写上<h1>helloworld</h1> 2、首先在新建一个普通的Java类(HelloWorld.java),这个类中包括execute方法,代码如下。 package com.test.action;
3、在src目录下新建一个struts.xml配置文件,文件内容包括一个DTD约束,文件的目录结构为<struts><package><action>元素代码如下: <?xml version="1.0" encoding="UTF-8" ?>
4、配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?>
5、别忘了加struts的lib文件 |
|