自定义MVC框架概念以及案例(一)

Unity框架——MVC框架 前言——什么是MVC框架MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面 显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于 映射传统的输入、处理和输出功能在一个逻辑的图形化用... 阅读详情

一、自定义MVC的概念

MVC全名:Model View Controller,其中为Model(模型层)、View(视图层)、Controller(控制层),它具有高内聚,低耦合的特点。

耦合为每个模块之间相互联系的紧密程度,模块之间联系越紧密,则耦合性越高,模块的独立性就越差,则耦合性越低。假如一个模块中修改了一个地方,另外很多模块也需要修改,即为独立性差。

内聚为一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,反之则内聚性低。

其实看上面说的还比较抽象,江来举个栗砸,就像一个公司,它拥有许多部门,每个部门做着上边大佬安排的工作,一个部门的工作通常是有那么一些关系的,比如说美工部听名字就知道他们是干啥的,里面的成员大部分都是一种类型的那就是擅长美工的。
部门就相当于是代码中的模块,有种各司其职的意思,然后部门中的人就像模块中的代码。

二、使用自定义MVC框架的原因

我们以前写一个项目,我们需要从零到有,从头到尾都需要自己花时间去写,那么我们肯定需要耗费许多时间,而自定义MVC框架其实就是我们去写一个半成品可以在多个项目中使用的一种东西,大概就是我们做PPT中那个模板,PPT模板我们可以多次使用,还有我们上面说的栗砸的那种模式很多公司都是这样的,是一样的情况,我们写代码也需要这种思维,我们做项目的时候需要效率,所以我们需要框架。

三、自定义MVC的工作流程

我会由一个简单实例来简述:
在这里插入图片描述
我们看上方这张图,首先我们从浏览器获取到请求,然后进入到总控制器(ActionServlet)中,在ActionServlet中我们判断请求的路径是什么,再由对应的子控制器(Action)子类去实现子控制器的方法,再去实现对应的功能,通过浏览器显示…

这里面的总控制器就是上面说的安排工作的大佬,他会根据请求找到对应的部门也就是子控制器来实现这个功能

我们用一个简单实例来看这个流程,首先通过浏览器进入ActionServlet
在这里插入图片描述
通过配置好的web.xml文件,进入到ActionServlet:

<servlet>
  	<servlet-name>actionServlet</servlet-name>
  	<servlet-class>com.zengjing.framework.ActionServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>actionServlet</servlet-name>
  	<url-pattern>*.action</url-pattern>
  </servlet-mapping>

在ActionServlet中,有一个map集合存储着子控制器子类,我们获取到请求路径,通过截取来分辨请求的路径是哪一个,再在map集合中找到这个对应的子控制器子类来实现功能
这一部分就像是总控制器大佬的脑子中知道自家公司有多少部门可以做哪些工作,得知请求后找到对应的部门来实现工作:

package com.zengjing.framework;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zengjing.action.SumAction;
import com.zengjing.action.HelloAction;

public class ActionServlet extends HttpServlet{
   
   
	private Map<String, Action> map;
	
	@Override
	public void init() throws ServletException {
   
   
		System.out.println("123");
		map=
MVC框架知识详解 阅读详情

相关推荐

简单的MVC框架例子

一个简单的MVC例子:以javabean为基础(一个学生类)通过servlet控制页面跳转(处理业务逻辑、数据库连接等操作),jsp实现动态网页。

一个完整的asp.net mvc架构网站实例

asp.net mvc架构网站实例.

一个mvc框架实例源代码

一个的MVC框架实例,没有花哨的功能,代码简洁,代码有注释注释 ,代码具有很高的可读性。

mvc框架例子该例子主要讲述了怎样创建mvc框架以及怎样用mvc操作数据库该希望对初学mvc的人有所帮助欢迎大家下载分享

该例子主要讲述了怎样创建mvc框架以及怎样用mvc操作数据库该希望对初学mvc的人有所帮助欢迎大家下载分享

Java mvc 框架例子

这个老师带领我们写的一简单mvc模式,个人感觉很清晰明了,可以帮助新人学习MVC模式吧!下载的不要忘记评论啊1

VSCode+Keil高效开发STM32:Keil Assistant插件配置全攻略

本文详细介绍了如何通过VSCode的Keil Assistant插件,将Keil MDK的编译调试能力与VSCode的现代编辑体验相结合,打造高效的STM32开发环境。文章涵盖了从环境配置、工程导入、智能提示设置到与STM32CubeMX协同工作的全流程攻略,旨在解决Keil编辑器效率低下的痛点,大幅提升嵌入式开发的编码与项目管理效率。

gold的博客 507

喷雾破碎模型解析:从理论到CFD应用实践

本文深入解析喷雾破碎模型的理论基础与CFD应用实践,重点介绍KHRT、TAB和ETAB等主流模型的核心原理与工程调参技巧。通过OpenFOAM实例演示和参数优化建议,帮助工程师精准预测液滴破碎行为,提升燃烧效率与排放控制性能,适用于汽车发动机、燃气轮机等工业场景。

weixin_29281915的博客 499

PyQt5混搭qfluentwidgets实战:用FramelessWindow快速打造现代化界面

本文详细介绍了如何将PyQt5与qfluentwidgets组件库结合,利用FramelessWindow快速打造现代化无边框界面。通过环境配置、核心特性解析、组件混用技巧及高级样式定制,帮助开发者提升桌面应用的用户体验和美观度,特别适合需要现代UI设计的Python开发者。

sugar的博客 969

Hadoop生态系统-新手快速入门(含HDFS、HBase系统架构)

Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量...

Hadoop环境搭建教程 472

Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4737

优快云 2

2

qq_62260432的博客 5236

【ROS2】机械臂MoveIt2

navigation2 专注于移动机器人的导航与定位,处理大范围空间的底盘运动;MoveIt2 专注于机械臂的操作规划,处理多关节协同的末端执行器运动。在复合机器人(如,移动机械臂)navigation2 负责移动到目标区域,MoveIt2 负责机械臂抓取。官网:https://moveit.picknik.ai/main/index.html。

郭老二 594

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 通用分页之自定义标签控制前台显示
下一篇: 通用分页前后台总结
Jiang呀
博客等级 码龄7年 16粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值