简易自定义mvc

  • 什么是MVC
    • MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码
    • Model1 jsp+jdbc
    • Model2 ->MVC
    • 核心思想:各司其职
  • MVC结构
    • V view
      • jsp/ios/android
    • C controller
      • servlet/action
    • M model
      • 实体域模型(名词)entity
      • 过程域模型(动词)dao/biz
    • 注1:不能跨层调用
    • 注2:只能出现由上而下的调用
  • 自定义MVC工作原理图
    •  
      • 属性
        • *.action: 浏览器的响应地址
        • ActionServlet: 中央管理器,分析请求需要的方法和对象所在的类
        • Action: 子控制器
        • Model:模型
      • 步骤
        • 用户发送请求(*.action)传输到Controller(控制器)中的ActionServlet(中央管理器)
        • 再由中央管理器分析用户需求的是哪个类中的哪个方法,并将得到的数据转发给子控制器Action
        • 通过Action来执行所需要的模型中的方法,获取到需求的数据
        • 获取到数据后,将数据返回子控制器Action中,然后获取到子控制器所指向的值
        • 根据获取的子控制器的值来跳转到对应的页面
  • 自定义mvc的增强
    • 使用XML进行配置
    • ModelDriver+反射对Model赋值
    • DispatcherAction将一组相关的操作放到一个Action中
    • 只有方法与execute方法不同,其它一样
    • 使用forward标签进行流程的转发和重定向
  • action包
    • ActionServlet: ActionServlet要继承HttpServlet,再其中有多个方法
      • doPost
        • 用户的.action请求全部接收到此处
        • 1.获取用户请求并分析得到对应的目标类和目标对象
        • 2.通过建模来获取对应目标类的全限地名,根据反射来获取对象
        • 3.根据类对象+方法名得到指定的方法
        • 3.5 给对应参数赋值
        • 4.运行指定的方法并获取返回值
        • 5.根据返回值进行页面跳转
      • getAction
        • 根据反射来获取到对应的Action模型
        • url 要获取的Action的path属性
        • 对应的类的对象
      • getMethodName
        • 获取对应的方法名
        • req 请求对象
        • return 对应的方法名
      • tp
        • 跳转至对应forward中指向的路径
        • url action的path属性,用来获取action标签
        • path forward的name属性,用来获取对应的forward标签
        • req 请求对象,用来转发至目标路径
        • resp 响应对象,用来重定向至目标路径
      • handleModel
        • 给对应的子控制器的属性赋值
        • action 子控制器
        • req 请求对象,获取要设置的属性名称及对应的值
    • Action:实现此类的类被可以视为Action,方便编写方法
      • public String execute(String MethodName,HttpServletRequest req,HttpServletResponse resp) throws Exception;
    • DispatherServlet:然所有的Servlet继承此类,实现Action接口
      • 运行其他方法的方法
    • ModelDriver:定义一个获取对象的方法,让所有的Servlet类实现此方法
      • public T getModel();
  • dao包照常写
  • biz包内调用dao包的方法,并实例化一个对应的实体类,方法的返回值统一为为String,方法中除了PageBean对象之类的参数,其余参数用HttpServletRequest和HttpServletResponse这两个对象替换各一个替换
    注:HttpServletRequest和HttpServletResponse对象每个只写一个
    • 在模糊查询查询并分页例:
      • 返回值为config中的forward标签的name属性,指向一个路径
qq_52005127
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简单版自定义MVC
05-29
自定义MVC,修改性,维护性好
servlet简单实现的MVC框架
03-08
使用servlet3实现的简易mvc框架,使用反射,自定义注解
封装分页标签&&自定义MVC01
qq_44229362的博客
04-13 108
文章目录 前言 一、封装分页标签 二、什么是MVC 三、自定义MVC工作原理 四、自定义mvc实现 1.创建web工程 2.中央处理器 3.Action接口定义 4.实现子控制器 前言 上一篇文章我们已经把分页功能实现了。 但是还存在一些问题,例如: 1)如果其他功能需要分页,则需要复制大量代码才能重用该功能 2)如何根据系统需要修改分页工具栏的显示风格 这一篇文章在原来的基础上进行封装分页标签解决刚刚提到的问题; 提示:以下是本篇文章正文内容,下面...
自定义MVC详解
隔壁的博客
09-04 280
J2EE 目录 J2EE 1、什么是mvc 2、mvc组成部分 3、搭建mvc(代码) 1、中央控制器:DispathServlet 2、模型驱动:ModelDriver 3、子控制器接口:Action 4、增强子控制器:ActionSupport 5、具体子控制器案例BookServlet 6、Dao层 7、XML配置文件 8、web.xml 4、界面效果图 5、mvc的执行流程 1、简单流程,首先大致感受一下他的流程 2、详细流程,建议按照这个流程图来理解每个类之间的关
自定义MVC(一)
Kobe Bryant
06-24 406
一.MVC 1、什么是MVC MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。 核心思想:各司其职 这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。 (1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。 (2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的...
自定义MVC与框架
m0_53151031的博客
08-31 208
前言:上次与大家分享了通用分页,只要记住通用分页核心思想,沿着核心思想来写通用分页。今天与大家分享的是自定义MVC和框架。接下来通过思维导图来讲解今天的知识。 一、自定义MVC 1、自定义MVC的概念:MVC全称名是Model(模型层) View(视图层) control(控制层),可以这样理解,自定义MVC同时具有可以建造模型,看结果,以及控制,同时也具有高类聚,低耦合的特点。 2、自定义MVC的作用:节省时间和代码。比如说:我们在写一个项目时...
简易mvc框架
在努力中
05-07 250
简易版框架 1.项目需求 用一个通用的控制器,进行开发一个web应用程序,只添加相应的配置,就可以通过控制器就可以调用相应的模型和视图的功能 2.初始设计 2.1项目结构 2.2项目搭建 2.3加载配置文件 1.加载配置文件beans标签的依赖 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.
自定义MVC——1
大屌的博客
06-05 103
文章目录为什么使用自定义MVCUI界面 mvc全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻...
自定义MVC——2
大屌的博客
06-08 165
今天讲的是MVC优化版~
自定义MVC系列(三)之MVC框架实现增删改查
lijie1025的博客
07-04 446
利用编写的自定义MVC框架实现的基础的前端增删改查
PHP实现简易MVC框架
光头强的博客
11-27 5945
实现MVC框架没有固定的实现方法,根据框架特色和语言特点以及自己的需求进行实现即可。
MVC源码学习:打造自己的MVC框架
08-23
2.1、Asp.net管线事件简易说明 ........................................................................................................................ 6 2.2、Asp.net中常见的HttpHandler类型 ...............
asp.net mvc利用pager分页
03-23
利用微软官方出的pager来进行分页 这个我真是研究了半天才出来了
基于Qt QGraphicsView的简易画图软件.zip
04-22
它遵循MVC(模型-视图-控制器)模式,支持数据驱动的界面设计。 元对象系统与信号槽机制: Qt Meta-Object System(元对象系统)是Qt框架的一个重要特性,它引入了元对象编译器(moc),用于在编译时生成额外的...
头歌python本月天数.doc
05-29
头歌python本月天数 头歌Python本月天数计算教程 一、引言 在Python编程中,经常需要处理与时间相关的任务,包括日期的计算。其中,一个常见的需求是计算某个月份的天数。由于不同月份的天数可能不同(例如,2月有28天或29天,取决于是否为闰年),因此编写一个能够准确计算本月天数的Python程序是非常有用的。本教程将详细介绍如何使用Python来实现这一目标。 二、Python中的日期和时间处理 在Python中,日期和时间通常使用内置的datetime模块来处理。datetime模块提供了许多类和方法,用于表示和操作日期和时间。其中,datetime.date类用于表示日期,包括年、月和日三个部分。 三、计算本月天数 要计算本月天数,我们可以使用datetime.date类的一些方法和属性。具体步骤如下: 获取当前日期 首先,我们需要获取当前的日期。这可以通过datetime.date.today()方法来实现。该方法返回一个表示当前日期的datetime.date对象。 python from datetime import date tod
h5py-3.0.0-cp39-cp39-manylinux1_x86_64.whl
最新发布
05-29
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
小程序项目源码之投融圈小程序(投资、融资类).zip
05-29
小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip小程序项目源码之投融圈小程序(投资、融资类).zip
debugpy-1.4.1-cp37-cp37m-manylinux2014_i686.whl
05-29
Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。
mvc 自定义路由解析错误
06-03
如果你在 ASP.NET MVC 应用程序中自定义了路由,并且出现了解析错误,可能是因为路由定义不正确。以下是一些可能导致解析错误的常见问题和解决方法: 1. 路由定义的顺序不正确:确保定义路由的顺序是正确的。如果你...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ONGL表达式 471
  • mysql--账号及数据库管理 368
  • mysql全文检索 282
  • ArrayList的contains()及HashSet和TreeSet的排序和去重复 232
  • 哈希表及Map集合下的实现类和HashMapkuor 209

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • RabbitMQ部署/说明
  • 消息队列简介
  • 文件上传
2022年2篇
2021年18篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司临猗关键词排名包年推广哪家好呼和浩特百度竞价包年推广价格凉山百姓网标王和县百度seo报价甘孜模板推广报价漯河百搜标王多少钱哈尔滨关键词按天计费濮阳网站优化软件价格晋中建网站舟山营销型网站建设报价白山建站哪家好延边网页设计哪家好南京设计网站松原关键词按天扣费吉祥百度seo哪家好鞍山网站优化排名哪家好广元网站优化排名推荐本溪网络广告推广多少钱日照外贸网站设计黄石网络推广铜陵优化报价林芝SEO按天扣费青岛网站改版价格松原网站搜索优化公司盐田网站搜索优化多少钱吉安网站优化软件公司上海网页制作报价西安百度竞价包年推广公司罗湖seo价格盐城英文网站建设公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化