第8章MVC设计模式

上传人:沈*** 文档编号:170950734 上传时间:2022-11-23 格式:PPT 页数:23 大小:261.55KB
返回 下载 相关 举报
第8章MVC设计模式_第1页
第1页 / 共23页
第8章MVC设计模式_第2页
第2页 / 共23页
第8章MVC设计模式_第3页
第3页 / 共23页
点击查看更多>>
资源描述
web技术 第8章 MVC设计模式1第第8 8章章 MVCMVC设计模式设计模式web技术 第8章 MVC设计模式2第8章、MVC设计模式8.1 MVC设计模式设计模式8.1.1 什么是设计模式什么是设计模式8.1.2 MVC设计模式设计模式8.2 JSP Model1和和JSP Model28.2.1 JSP Model18.2.2 JSP Model28.3 Struts介绍介绍8.3.1 什么是什么是Struts8.3.2 Struts主要的模型组件主要的模型组件8.3.3 Struts的视图组件的视图组件8.3.4 Struts的控制器组件的控制器组件8.3.5 标记库简介标记库简介8.4 MVC案例案例8.4.1 以以JSP+SERVLET+JAVA BEAN来实现的来实现的MVC案例案例8.4.2 以以Struts来实现的来实现的MVC案例案例web技术 第8章 MVC设计模式38.1 MVC设计模式设计模式8.1.1 什么是设计模式什么是设计模式 设计模式(设计模式(Design pattern)是对于某些常)是对于某些常见问题抽象提炼出来的解决方案。见问题抽象提炼出来的解决方案。软件设计模式软件设计模式使人们可以更加简单方便的复使人们可以更加简单方便的复用以往成功的软件设计经验和体系结构,将用以往成功的软件设计经验和体系结构,将已经被证实为有效的软件技术用设计模式进已经被证实为有效的软件技术用设计模式进行表述也将会使新来的开发者更加容易理解行表述也将会使新来的开发者更加容易理解其原来的设计思路,减少沟通成本和误解。其原来的设计思路,减少沟通成本和误解。web技术 第8章 MVC设计模式48.1 MVC设计模式设计模式8.1.2 MVC设计模式设计模式(1)MVC设计思想设计思想MVC是把一个应用的输入、处理、输出流程是把一个应用的输入、处理、输出流程按照模型、视图、控制的方式进行分离,这样按照模型、视图、控制的方式进行分离,这样应用被分为三个层:模型层、视图层、控制层。应用被分为三个层:模型层、视图层、控制层。模型层(模型层(Model):负责表达和访问商业数据,执):负责表达和访问商业数据,执行业务逻辑和操作。行业务逻辑和操作。视图层(视图层(View):把表示模型数据及逻辑关系和状):把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。态的信息及特定形式展示给用户。控制层(控制层(Control):定义了抽象的业务逻辑,用于):定义了抽象的业务逻辑,用于控制业务流程。控制业务流程。web技术 第8章 MVC设计模式58.1 MVC设计模式设计模式(2)MVC的实现的实现 客户端视图控制器模型交互刷新视图视图事件改变模型声明改变事件图 8.1 GUI程序中的MVC web技术 第8章 MVC设计模式68.1 MVC设计模式设计模式(2)MVC的实现的实现 图 8.2 web应用中的MVC 客户端视图控制器模型请求刷新视图呈现分发器执行web技术 第8章 MVC设计模式78.2 JSP Model1和和JSP Model28.2.1 JSP Model1对于小型的对于小型的web应用程序,我们可以直接使用应用程序,我们可以直接使用JSP来编写动态网页,网页中的动态内容通过插入一些来编写动态网页,网页中的动态内容通过插入一些JSP中脚本代码来实现,这种方式写程序最为简单、中脚本代码来实现,这种方式写程序最为简单、快捷。快捷。这样做也使得我们的这样做也使得我们的JSP页面中大量混合了页面中大量混合了HTML和和JAVA代码,应用程序变得难以读懂和维护。代码,应用程序变得难以读懂和维护。在页面中加入在页面中加入Java Bean在一定程度上可以解决这在一定程度上可以解决这种问题,我们可以使用种问题,我们可以使用Java Bean将复杂的商务逻将复杂的商务逻辑封装进来,这种方法我们称之为辑封装进来,这种方法我们称之为JSP Model1。web技术 第8章 MVC设计模式8图图 8.3 JSP Model1结构图结构图8.2 JSP Model1和和JSP Model2浏览器JSP网页Java Bean业务对象requestresponse8.2.1 JSP Model1web技术 第8章 MVC设计模式98.2 JSP Model1和和JSP Model28.2.2 JSP Model2在在JSP Model1设计模式中,设计模式中,JSP页面还是必页面还是必须调用一定的业务逻辑,而且须调用一定的业务逻辑,而且JSP页面还承页面还承担起控制页面流向的重要角色,所以在担起控制页面流向的重要角色,所以在JSP Model1中将不可能消除页面中存在的程序中将不可能消除页面中存在的程序代码。代码。为了解决为了解决JSP Model1存在的上述问题,我们存在的上述问题,我们引入了引入了MVC体系,也就是我们所说的体系,也就是我们所说的JSP Model2。web技术 第8章 MVC设计模式10图 8.4 JSP Model2结构图8.2 JSP Model1和和JSP Model28.2.2 JSP Model2浏览器(View)JSP网页(Model)Java Bean业务对象requestresponse(Controller)Servletweb技术 第8章 MVC设计模式118.3 Struts介绍介绍8.3.1 什么是什么是StrutsStruts是一个基于是一个基于MVC设计模式的设计模式的web应用应用程序的开发框架,是由著名的开源软件组织程序的开发框架,是由著名的开源软件组织Apache提供的,而且提供的,而且Struts本身是开放源代本身是开放源代码的。它实现了码的。它实现了MVC架构,目前在电子商架构,目前在电子商务系统的开发中得到广泛的应用。务系统的开发中得到广泛的应用。作为一种比较成熟的作为一种比较成熟的Web应用开发框架,应用开发框架,Struts主要提供了三种重要的组件:主要提供了三种重要的组件:请求处理器(请求处理器(Request Handler)响应处理器(响应处理器(Response Handler)标记库(标记库(Tag Library)web技术 第8章 MVC设计模式128.3 Struts介绍介绍 Struts框架的实现框架的实现图8.5 Struts框架的基本构成 web技术 第8章 MVC设计模式138.3 Struts介绍介绍 Struts框架的基本构成框架的基本构成控制器(控制器(Controller):在):在Struts中控制器的功能由中控制器的功能由ActionServlet和和ActionMapping对象构成。对象构成。ActionServlet包括一组基于配置的包括一组基于配置的ActionMapping对象,每个对象,每个ActionMapping对象实现了一个请求到对象实现了一个请求到一个具体的模型对象之间的映射。一个具体的模型对象之间的映射。模型(模型(Model):):Struts为模型部分提供了为模型部分提供了Action和和ActionForm两类对象。两类对象。视图(视图(View):):Struts应用中的视图部分是通过应用中的视图部分是通过JSP技术实现的。技术实现的。Struts提供了自定义的标记库以供提供了自定义的标记库以供使用,通过这些自定义标记可以非常好地和系统的使用,通过这些自定义标记可以非常好地和系统的模型部分交互。模型部分交互。web技术 第8章 MVC设计模式148.3 Struts介绍介绍图8.6 Struts框架的组件结构图 web技术 第8章 MVC设计模式158.3 Struts介绍介绍8.3.2 Struts主要的模型组件主要的模型组件ActionForm Bean系统状态系统状态Bean业务逻辑业务逻辑Beanweb技术 第8章 MVC设计模式16ActionForm Bean 请输入你的用户名和密码.用户名:密码:import org.apache.struts.action.ActionForm;public class AccountBean extends ActionForm private String username;/定义userName属性 private String password;/定义password属性 /*获取username属性的值*/public String getUsername()return username;/*设置username属性的值*/public void setUsername(String username)this.username=username;/*获取password属性的值*/public String getPassword()return password;/*设置password属性的值*/public void setPassword(String password)this.password=password;web技术 第8章 MVC设计模式17系统状态系统状态Bean 在在Web应用系统应用系统运行过程中,系运行过程中,系统的状态是由一统的状态是由一系列系列JavaBeans来表示的,这些来表示的,这些JavaBeans被称被称做系统状态做系统状态Bean。它们的属性值定它们的属性值定义了当前的运行义了当前的运行状态。状态。/*订单类*/public class Order implements Serializable private int orderId;/定义订单编号 private String username;/定义用户名 private String shipAddress1;/定义送货地址1 ./其他订单属性 /*获取订单编号*/public int getOrderId()return orderId;/*设置订单编号*/public void setOrderId(int orderId)this.orderId=orderId;/*其他订单方法*/.web技术 第8章 MVC设计模式18业务逻辑业务逻辑Bean 在一个应用系统中,在一个应用系统中,业务逻辑的实现是业务逻辑的实现是整个系统实现的重整个系统实现的重点。点。一个好的方法是为一个好的方法是为不同的业务逻辑设不同的业务逻辑设计不同的计不同的JavaBeans,这些,这些JavaBeans的方法的方法实现了所有的业务实现了所有的业务逻辑。逻辑。开发人员可以在系开发人员可以在系统状态统状态Bean中实现中实现这些方法,也可以这些方法,也可以设计单独的业务逻设计单独的业务逻辑辑Bean来实现这些来实现这些方法。方法。/*购物车类*/public class Cart implements Serializable /*购物车的属性*/.public boolean containsItemId(String itemId)/判断购物车中是否已有某件商品 public void addItem(Item item,boolean isInStock)/向购物车中添加商品 public Item removeItemById(String itemId)/从购物车中删除某件商品 /*其他订单方法*/.web技术 第8章 MVC设计模式198.3 Struts介绍介绍8.3.3 Struts的视图组件的视图组件Struts框架提供了对视图组件的支持,但是框架提供了对视图组件的支持,但是它自身并没有提供实际的视图组件。它自身并没有提供实际的视图组件。在在Struts框架下开发系统的视图部分时,可框架下开发系统的视图部分时,可以使用各种流行的表示层技术,如:以使用各种流行的表示层技术,如:JSP、XSLT、Cocoon等。等。web技术 第8章 MVC设计模式208.3 Struts介绍介绍8.3.4 Struts的控制器组件的控制器组件在在Struts框架中,一个框架中,一个Servlet被用于将客户被用于将客户端的请求端的请求URI映射到一个完成具体操作的映射到一个完成具体操作的Action类。类。对于开发人员来说,与控制器有关的主要开对于开发人员来说,与控制器有关的主要开发任务包括:发任务包括:编写编写ActionForm类类;为每一个客户端请求编写为每一个客户端请求编写Action类类;在配置文件在配置文件struts-config.xml中为每一个请求配中为每一个请求配置置ActionMapping。web技术 第8章 MVC设计模式218.3 Struts介绍介绍8.3.5 标记库简介标记库简介Struts的标记库(的标记库(Taglib)提供了一系列)提供了一系列JSP自定义自定义标记,用于帮助开发人员创建基于表单的、交互式标记,用于帮助开发人员创建基于表单的、交互式的的Web应用。应用。在电子商务系统的开发中,在电子商务系统的开发中,Struts标记库的重要性标记库的重要性体现在:体现在:能够提供比普通的能够提供比普通的HTML表单标记更加强大的表单功能。表单标记更加强大的表单功能。能够消除在能够消除在JSP页面中出现的页面中出现的Java代码,降低页面开发难代码,降低页面开发难度。度。与与Struts框架紧密结合,能够充分利用框架紧密结合,能够充分利用Struts框架的优势和框架的优势和特点。特点。web技术 第8章 MVC设计模式228.3 Struts介绍介绍 Struts标记库中包含了标记库中包含了4类基本的标记:类基本的标记:Bean、HTML、Logic和和Nested。Bean用于在用于在JSP页面中定义、管理页面中定义、管理Bean。HTML用于在页面中创建输入表单以及其他有用的用于在页面中创建输入表单以及其他有用的HTML标记。标记。Logic用于在页面中控制流程,如条件判断、循环等。用于在页面中控制流程,如条件判断、循环等。Nested扩展了基本的扩展了基本的Struts标记,并允许它们嵌套使用。标记,并允许它们嵌套使用。web技术 第8章 MVC设计模式238.4 MVC案例案例8.4.1 以以JSP+SERVLET+JAVA BEAN来实来实现的现的MVC案例案例8.4.2 以以Struts来实现的来实现的MVC案例案例
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!