MVC三层架构理解

MVC三层架构理解MVC三层架构什么是MVC:ModelviewController模型、视图、控制器以前的架构用户直接访问控制层,控制层就可以直接操作数据库;servlet–CRUD–>数据库弊端:程序十分臃肿,不利于维护servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码架构:没有什么是加一层解决不了的!程序猿调用↑JDBC(实现该接口)↑MysqlOracleSqlServer….(不同厂商)MVC三层架构M

大家好,又见面了,我是你们的朋友全栈君。

MVC三层架构

  • 什么是MVC: Model view Controller 模型、视图、控制器

以前的架构

(img-NGdCSHqw-1588757845418)(JavaWeb.assets/1568423664332.png)

用户直接访问控制层,控制层就可以直接操作数据库;

servlet--CRUD-->数据库
弊端:程序十分臃肿,不利于维护  
servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码

架构:没有什么是加一层解决不了的!
程序猿调用
↑
JDBC (实现该接口)
↑
Mysql Oracle SqlServer ....(不同厂商)

MVC三层架构

[(img-BWDJGUCN-1588757845419)(JavaWeb.assets/1568424227281.png)]

Model

  • 业务处理 :业务逻辑(Service)
  • 数据持久层:CRUD (Dao – 数据持久化对象)

View

  • 展示数据
  • 提供链接发起Servlet请求 (a,form,img…)

Controller (Servlet)

  • 接收用户的请求 :(req:请求参数、Session信息….)

  • 交给业务层处理对应的代码

  • 控制视图的跳转

    登录--->接收用户的登录请求--->处理用户的请求(获取用户登录的参数,username,password)---->交给业务层处理登录业务(判断用户名密码是否正确:事务)--->Dao层查询用户名和密码是否正确-->数据库
    

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153073.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Win10自动更新永久关闭,有效的Win10强制更新关闭方法,禁止windows10自动更新,禁止update medic service ,win10显示更新并关机没有单独的关机按钮[通俗易懂]

    Win10自动更新永久关闭,有效的Win10强制更新关闭方法,禁止windows10自动更新,禁止update medic service ,win10显示更新并关机没有单独的关机按钮[通俗易懂]禁用update服务,光这个不行,下边还有windowsupdatemedicservice禁止流程鼠标右键此电脑–>管理–>服务和应用程序–>服务–>windowsupdate–>选择禁用,如果该服务已经启动,记得点击停止,然后点击右下角的应用再确定,确定,就禁止了update服务,但是这个貌似有时候就又启动了,再往下看禁用windowsup…

    2022年5月8日
    327
  • ASP.NET项目开发详解

    ASP.NET项目开发详解#ASP.NET项目开发详解###1ASP.NET开发基础####1.1认识网页和网站#####1.1.1网页#####1.1.2网站####1.2网站开发基础#####1.2

    2022年7月1日
    34
  • Django(20)ORM模型迁移命令

    Django(20)ORM模型迁移命令迁移命令makemigrations:将模型生成迁移脚本。模型所在的app,必须放在settings.py中的INSTALLED_APPS中。这个命令有以下几个常用选项:app_label:后面可

    2022年7月29日
    8
  • IDE工具(17) eclipse创建ftl文件具体步骤

    IDE工具(17) eclipse创建ftl文件具体步骤eclipse如何创建ftl文件?第一步:Window–>Preferences–>General–>Editors–>FileAssociations–>Add新建*.ftl文件第二步:点击下面Associationseditors下的Add…选择JSPEditor第三步:Window–>Preferences…

    2022年6月16日
    92
  • Oracle列转行函数LISTAGG() WITHIN GROUP ()的使用方法

    Oracle列转行函数LISTAGG() WITHIN GROUP ()的使用方法前言:最近在写一些比较复杂的SQL,是一些统计分析类的,动不动就三四百行,也是首次写那么长的SQL,有用到一些奇形怪状的SQL函数,在这里结合网上的例子做一些笔记,以后用到不记得用法可以翻出来看!1.基础用法:LISTAGG(XXX,XXX)WITHINGROUP(ORDERBYXXX),就像聚合函数一样,通过Groupby语句,把每个Group的一个字段,拼接起来…

    2025年8月3日
    1
  • Wscript.shell 详解

    Wscript.shell 详解Wscript.shellWscript.shell是Wshshell的ProIDWshshell是一个对象,存放在windows系统中的wshom.ocx文件中,可供在windows上运行的程序调用。他可对windows的外壳程序进行访问。对象(object)是一些相关变量和方法的软件集,或者说库。当你需要这个对象里面的变量,方法,功能的时候,你就可以使用相关语

    2025年7月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号