`
l4432848
  • 浏览: 253303 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web架构和MVC架构

    博客分类:
  • java
阅读更多

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

关于B/S和C/S:

管理软件使用B/S架构,而游戏因为要基于显卡实现绚丽的效果所以使用C/S架构。因为B/S架构便于程序的维护、升级和修改,所以今后B/S还有很大的发展空间。但注意并不是说有浏览器的就一定是B/S架构,比如网页上的小游戏其实是C/S架构,只不过它是边玩边下载,B/S架构和C/S架构最本质的区别在于B/S是一种轻客户端重服务器的架构,它把所有的逻辑,页面素材都放在服务器上,浏览器上的所有东西都是从服务器上下载下来的,所以说,并不是有浏览器的就是B/S架构,应该说满足轻客户端重服务器的这种模式的就是B/S架构,再比如微信小程序虽然没有浏览器,但它是一个B/S架构。

Web架构:

Web架构可以理解为有三种,一种是只有JSP页面,也就是所有的逻辑,业务处理和页面代码都在JSP上,在做一些简单不重要的程序时可以采用这种方式,快捷,但是不利于修改和维护;第二种是有JSP和Servlet,两者进行分工,JSP负责页面代码,Servlet负责逻辑、数据验证和数据库操作;第三种有JSP、Servlet和java类,JSP负责页面代码,Servlet负责数据验证,java类负责做逻辑和数据库方面的操作,这种层次分工最鲜明,便于维护、修改和升级。因为java类不涉及具体的业务,这样只要是相同或类似的功能都可以复制这段java代码,这样可以加快开发的效率。此外,Servlet是需要在web服务器上运行才可以的,如果有一天说不再使用JSP了,那么java类的代码还可以使用,只需要替换JSP和Servlet部分的代码即可,但如果是把代码都写在JSP或JSP和Servlet上,那么要修改就会很困难,甚至于代码就是无用的了,又要从零开始开发。比如我们用JSP、Servlet和java做好了程序,如果此时要求与微信小程序对接,因为微信小程序不需要页面,只需要返回给它一个JSON数据即可,这时我们的JSP和Servlet就不可用了,但是java类还可以保留,我们只需要重写Servlet里面的数据返回JSON数据即可。

MVC架构:

介绍:M指的是模型,V指的是视图,C指的是控制器,注意MVC架构不是三层架构,如果非要分类的话,它顶多算三层架构里面的一层。MVC架构不是B/S架构里面才能用,它最早出现于C/S架构中,MVC架构只是一种解决代码的架构,谁都可以用它,无论是java还是C#,无论是B/S架构还是C/S架构……当然以后做开发我们不可能自己写这个框架,有专门的框架来实现这个架构,如strusts,springMVC等。

原理:

MVC就是用来解决繁乱的网状代码跳转问题的,如下图所示,我们如果有很多个页面间的跳转,就会像下图一样很繁乱:

image

这样如果有一个页面有代码的改动,那么与之联系的页面也很有可能需要更改,我们还要一一找出来修改,很麻烦,很不好找,而MVC可以帮我们解决这个问题,如下图所示,MVC有一个中转站,所有页面都先连接到这个中转站上,然后要跳到哪个页面上,直接在中转站里找就可以了,这样就方便简洁了很多这里的中转站就是上面所说的控制器。

image

  1. MVC中的两种模型:

3.1 model 1:视图(V) >>> 控制器(C) >>> 模型(M) >>> 视图(V)

如下图所示:

image

视图发送请求到控制器,控制器找到模型,模型响应相关页面到视图。如一个登录页面,先发送请求到控制器,这个控制器可以是Servlet做的,也可以是过滤器做的,只要能接收到请求即可,控制器找到相应的模型,也就是java类,当然在这个过程中java类可能会执行连接数据库等一系列操作,然后java类运行完以后返回成功或失败相应对应的页面到视图上。

3.2 model 2: 视图(V) >>> 控制器(C) >>> 模型(M) >>> 控制器(C) >>> 视图(V)

如下图所示:

image

视图发送请求到控制器,控制器找到模型,模型连接到控制器,告诉它运行的结果,控制器再响应相关页面到视图。还是以登录例题为例:

image

视图发送请求到控制器,控制器找到对应的模型,模型再连接控制器,告诉控制器成功与失败,控制器就相当于有一个小账本,上面记录着登录请求成功跳转到哪一个页面,失败跳转到哪一个页面,然后再根据这个响应相关的页面到视图。

4.交互模型二例题:

首先要有一个配置文件,此处以JSON为例,配置的JSON文件内容如下:

image

文件中mvc是数组名,由上图可知数组中只有一组数据,actionName表示来的如果是login就加载下面的className里面的类,如果返回的是ok字符串,就跳到ok.jsp页面,如果返回的是error字符串,就跳到login.jsp页面。

控制器部分的代码:

image

image

image

配置为*.action是想汇总所有的请求,让所有的请求都先进入这个控制器,然后根据配置文件跳页面。首先在初始化方法中加载配置的文件,之所以用service方法是因为控制器会接收所有的请求,这些请求有可能是get请求也有可能是post请求,所以此处为service方法统一接收所有请求。

接口Action的代码:

image

TestLogin代码:

image

之所以会申请一个接口Action,是为了在控制器中好加载TestLogin类并接收其返回的字符串,当然也可以不用申请接口的方法,可以用反编译的方法。

login.jsp的代码:

image

ok.jsp的代码:

image

运行结果演示:

image

image

image

0
1
分享到:
评论

相关推荐

    Web架构——MVC

    Web架构——MVC Web架构——MVC Web架构——MVC Web架构——MVC

    三层架构和MVC模式区别

    尽管三层架构和MVC模式在某种程度上存在重叠,但它们的重点和实现方式有所不同: - **层次与组件**:三层架构强调的是应用程序结构的垂直分割,每一层都有明确的职责和边界。MVC模式则侧重于应用程序功能的水平划分...

    基于J2EE的Web应用的MVC架构实现_尹汉东

    设计模式在当前的工程应用中越来越广泛 ,MVC 是软件开发中 的一种重 要的设计 模式 , J2EE 则是... 并构建了一个简 单、实用的 Web 应用框架 , 达到了视图 、控制 、模型的分层 , 成功实现了 J2EE 平台上的 MVC 架构 。

    MVC三层架构

    MVC三层架构基础介绍简单来说,Design Patten 就是一个常用的方案。 在我们的开发过程中,经常会遇到一些相同或者相近的问题,每次我们都会去寻找一个新的解决方法,为了节省时间提高效率,我们提供一些能够解决这些...

    一个三层架构的MVC代码

    三层架构和MVC模式是软件开发中的两种重要设计模式,它们在构建大型、可维护的Web应用程序时尤其有用。在这个名为“MVCDemo2”的项目中,我们可以看到这两种模式的结合应用。 首先,三层架构是一种将业务逻辑、数据...

    三层架构与MVC.pdf

    【三层架构】 三层架构是一种常见的软件开发模式,旨在实现...总结来说,三层架构和MVC模式是软件设计中的重要工具,它们有助于构建可维护、可扩展的系统。理解并灵活运用这些设计模式,可以提升开发效率和软件质量。

    ASP.NET MVC 三层架构与mvc实例

    ASP.NET MVC 是微软提供的一种基于模型-视图-控制器(Model-View-Controller)的Web应用程序框架,它将业务逻辑、数据访问以及用户界面进行了分离,使得开发过程更加清晰、可维护。三层架构则是一种软件设计模式,...

    基于MVC框架的java web开发

    在Java Web开发领域,Model-View-Controller(MVC)模式是一种广泛采用的设计模式,它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以实现业务逻辑、数据处理和用户界面的分离...

    MVC+三层架构+EF的增删改查操作(连接数据库的).rar

    在提供的示例中,"MVC+三层架构+EF的增删改查操作(连接数据库的)"是一个实际的应用程序演示,它结合了MVC模式和三层架构,用于展示如何使用ASP.NET MVC、三层架构和Entity Framework进行数据库操作。这个demo可能...

    基于J2EE的Web应用的MVC架构实现.pdf

    ### 基于J2EE的Web应用的MVC架构实现 #### 一、MVC设计模式概述 MVC(Model-View-Controller)是一种在软件工程领域广泛应用的设计模式,尤其在Web应用开发中占据重要地位。MVC的核心理念是将应用程序的业务逻辑、...

    Web编程(Java )-基于MVC架构的Web开发.doc

    通过这个实验,学生可以深入理解MVC架构的工作原理,以及如何在Java Web开发中实现用户交互和数据管理。同时,也能学习到如何使用Servlet和JSP来构建动态Web应用,以及如何进行简单的数据验证和错误处理。

    mvc三层架构应用案例简单代码

    总结来说,这个案例展示了如何使用MVC架构和一系列技术构建一个Web应用。通过解耦模型、视图和控制器,使得代码更易于维护和扩展,同时利用各种工具和框架提高开发效率。理解和实践这样的案例对于提升Java Web开发...

    MVC框架和架构

    MVC(Model-View-Controller)是一种广泛应用于Web应用程序开发的设计模式,它将应用程序的业务逻辑、用户界面和数据访问层分离,从而提高代码的可维护性和可测试性。MVC框架是实现这种设计模式的具体工具,它为...

    C#MVC架构、工厂模式的区别

    C#MVC架构和工厂模式是两种不同的软件架构和设计模式。C#MVC架构是一种软件架构模式,主要用于分离应用程序的业务逻辑、数据访问和用户界面,而工厂模式是一种创建型设计模式,用于创建对象。 三层架构是C#MVC架构...

    PHPMVC架构搭建

    这些框架提供了预定义的架构和工具,简化了开发过程。 - **Laravel**:Laravel是一个优雅的PHP框架,拥有丰富的功能和强大的艺术化命令行工具,使得开发者可以快速构建高质量的应用。 - **Symfony**:Symfony是一...

    C# web 三层架构设计

    C# Web 三层架构是一种常见的软件设计模式,旨在通过清晰的分层提高代码的可读性、可维护性和可扩展性。这种架构模式将应用程序分解为三个独立的层次:表示层(Presentation Layer)、业务逻辑层(Business Logic ...

    跟我学J2EE系统构架和设计模式-层架构及MVC架构模式的应用实例.docx

    MVC架构模式在Web应用中广泛应用,模型(Model)负责数据处理,视图(View)负责展示,控制器(Controller)处理用户请求并协调模型和视图。这种分离使得开发者可以独立修改各部分,提高了代码的可重用性和可测试性...

    MVC多层架构

    "Net.shopbook"可能是这个项目的主程序或核心组件的名称,它可能包含了整个MVC架构的实现,包括模型、视图、控制器以及数据库连接和配置文件等。 总的来说,这个"MVC多层架构"项目是一个适合初学者练习的实例,通过...

Global site tag (gtag.js) - Google Analytics