Web开发的分层结构与MVC模式

1.分层结构

  所谓分层结构。把不同的功能代码封装成类,把相同功能的类封装在一个个的包中,也叫层。功能归类如下:

实体类:

  封装数据,是数据的载体,在层与层之间进行传递,数据也就传递了。比如说要传递学生信息,把学生信息封装成一个Student对象,传递到其它的类中。如果有多个学生对象,则再次封装成集合,进行传递。我们把所有的实体类放在一个包中(层),层的命名通常用entity或model。数据库中有多少表,则程序中就有多少实体类。实体类的命名与表名一致,实体类中的属性名与表中的字段名一致。

  持久化类:

  这个层中的类与数据库进行交互,也就是数据持久化,但凡与数据库交互的代码都在这个层的类中,这个层的命名dao(database access obejct),层中的类的命名是:表名+Dao。通常数据库中有多少表,就有多少持久化类。

业务类:

  业务类用于处理业务逻辑的代码。这个层的命名 service或 biz。类的命名:表名+Service。

Jsp页面:

  表示层,用于呈现数据或收集数据。Servlet 类也属于表示层,它的作用就接收客户端的请求,并对请求进行分发,处理,再响应给客户端。命名:表名+Servlet

工具类:

  在开发中,还会有一个工具类,这些工具类通常放一个util包中。(字符串的处理工具类,与数据库连接的工具,密码加密的工具类)

分层结构作用:

  分层结构的开发如果要加功能,只需要在各层的类中添加方法就可以了,符合软件的开发原则:开闭原则。

  开闭原则:

开表示添加代码的门是打开的,更改代码的门是关闭的。
分层结构的项目的缺陷是:代码增加了。
优点是:类与之间实现解耦,有利于合作开发,有利于后期维护,扩展。

  层与层之间的访问关系:

    web->Servlet->Service->dao->数据库 =>dao=>Service=>Servlet=>jsp

  项目结构图:

    

 

  开发过程中代码编写的顺序:

0.添加数据库表
1.添加实体类。
2.添加持久化层接口
3.添加持久化接口实现类
4.添加业务层接口
5.添加业务层接口实现类
6.添加Servlet
7.添加jsp 页面

2.MVC模式

MVC是一种软件结构开发的一种思想,注意,不是软件开发的设计模式。
软件开发设计有23种(单例,简单工厂,抽象工厂,观察者,桥接…)。
MVC 思想在上个世纪70年代就提出了。SpringMVC ,Struts2…
M: model 数据的业务模型。
C: controller 控制器,对请求进行处理。
V: view 视图,数据的显示或收集。
MVC 的项目结构与分层结构非常接近,只是在把各层的划分进行了细微的更改。

  

MVC的思想与分层结构的思想是一致的。
优点是:解耦,分工合作,维护扩展。
在开发中,如果是C/S项目,我们用分层结构处理,MVC只能用于B/S结构的项目。

原文地址:https://www.cnblogs.com/gaojinshun/p/11025351.html

时间: 2024-08-28 20:25:17

Web开发的分层结构与MVC模式的相关文章

web开发 c/s结构 和 b/s结构

web开发 c/s结构 和 b/s结构 c/s结构 --client/server 客户端/服务器机构 如qq b/s结构 -- browser/server 浏览器/服务器结构 如网站 mvc设计 model模型,存储web应用数据的代码,如每一课的代码 view视图,格式化和显示web应用的用户界面的代码,如视频展示页面 controller控制器,将web应用粘合在一起并提供业务逻辑的代码,如提供注册.登陆.观看等业务逻辑 原文地址:https://www.cnblogs.com/them

JavaWeb的几个概念和TOMCAT目录结构以及WEB开发的目录结构

JavaWeb的几个概念和TOMCAT目录结构 一.JavaWeb应用的概念: 在Sun的Java Servlet规范中,对Java Web应用作了这样的定义:“Java Web应用由一组Servlet.HTML页.类.以及其它可以被绑定的资源构成.它可以在各种供应商提供的实现Servlet规范的Servlet容器中运行” Java Web应用中可以包含如下内容: -- Servlet -- JSP -- 实用类 -- 静态文档如HTML.图片等 -- 描述Web应用的信息(web.xml) 二

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

java web开发入门六(spring mvc)基于intellig idea

spring mvc ssm=spring mvc+spring +mybatis spring mvc工作流程 1A)客户端发出http请求,只要请求形式符合web.xml文件中配置的*.action的话,就由DispatcherServlet来处理. 1B)DispatcherServlet再将http请求委托给映射器的对象来将http请求交给对应的Action来处理 2)映射器根据客户的http请求,再对比<bean name="/hello.action如果匹配正确,再将http请

Play Framework Web开发教程(33): 结构化页面-组合使用模板

和你编写代码类似,你编写的页面也可以由多个小的片段组合而成,这些小的片段本身也可以由更小的片段构成.这些小片段通常是可以在其它页面重复使用的:有些部分可以用在所有页面,而有些部分是某些页面特定的.本篇介绍如何使用这些可重用的小模板来构成整个页面.Includes到目前为止的例子,我们只显示了HTML的片段,没有实例显示整个页面.下面我们给出完整的显现产品列表的代码和模板: 1 def catalog() = Action { 2     val products = ProductDAO.lis

由经典的MVC模式到Web三层结构

这几天复习了一下MVC,下面就是这几天的学习笔记,有错误的地方,欢迎大家批评指正. 经典的MVC 什么是MVC? 去南京趋势科技参加实习面试的时候,面试官问了我一个问题:MVC是不是一种设计模式?当时我对MVC的理解还不够透彻,就回答了个是(最后趋势挂了!).原因很简单,文献[1]P526中说MVC是一种复合模式,那当然是设计模式了.关于MVC到底是不是一种设计模式,等我们讨论完MVC后再说.先来说说什么是MVC. M:Model 模型 负责真正的业务逻辑的处理,是MVC的核心, 模型不依赖于视

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

为什么要使用MVC模式,MVC模式的优势有哪些?请写出你熟悉的MVC轻量级框架名称。

MVC就是常说的:模型(Model),视图(View)和控制Controller) 它把业务处理和Jsp页面分开了.而以前的Jsp页面是把所有的代码都写在Jsp页面中,那样不利于维护 MVC模式的目的就是实现Web系统的职能分工. MVC模式的好处: 1.各施其职,互不干涉 在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码. 2.有利于开发中的分工 在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工.网页设

struts2的MVC模式

MVC是一种架构型模式,它本身并不引入新的功能,只是用来指导我们改善应用程序的架构,使得应用的模型和视图相分离,从而得到更好的开发和维护效率. 在MVC模式中,应用程序被划分成了模型(Model).视图(View)和控制器(Controller)三个部分.其中,模型部分包含了应用程序的业务逻辑和业务数据:视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面:而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答. MVC模式的这三