javaWeb中的Model1和Model2

本文对比分析了传统Model1和Model2架构,并介绍了MVC在Java Web中的具体实现方式及与早期MVC思想的不同之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、传统的Model1和Model2

    在传统的Model1中,Web由大量JSP和少量用于访问数据库的bean组成,jsp兼顾V层和C层的工作。

    在传统的Model2中,servlet负责处理用户请求,调用更深层的javabean进行数据处理,然后将处理过的数据转发给jsp视图,视图进行数据解析和显示。

     205234_5iam_2481244.png

    如图,既然这样,大家看到这里应该能明显地感受到转发和重定向的区别了,它们是两个世界的产物,为了严格区分,我可以这样说(并不专业):转发和重定向完全是两个世界的产物。

    转发:C层把M转发给V层,V层进行渲染呈现(实际上JSP在服务器上也是一个Servlet,不懂百度)。转发是服务器内部的操作,与用户八竿子打不着。

    重定向:重定向是告诉用户,你重新请求服务器资源吧,我不想返回一个JSP页面给你。

 

    我想起了我做的第一个java online judge网站了,当时全部使用JSP页面完成相应功能,要完成一些编译工作都是调用一些简单的java对象,甚至使用static方法,这不正是Model1吗?因此,Model1是大多数入门者都能想到的java web处理方法吧,我相信大部分入门者都有在jsp里面调用过连接数据库的经历!

    在使用model1的你,应该并没有过多地想到过MVC的思想!

 

    后来慢慢开始入门了,别人教了你分层的思想,什么dao,service,servlet,然后开始分层书写,开始学习servlet3.0基于@WebServlet的注解,开始学习了JDBC,开始学习了JSP,然后看书了解了一点JSP的深层知识,然后开始写一个简单的有条理的JAVA WEB网站,恭喜啊!已经开始深入学习Model2了呢!

    学完model2之后,你就能够初步理解MVC的真正思想了吧!

    学完所谓的 Model2后,我理解了一下上面第一幅图,这样归纳:

       JSP属于View层,Servlet属于Controller层,dao,service,entity属于Model层,为什么后面的三个都是Model层?因为我理解的是后三个都是对数据进行处理java代码,所以是model层!

 

二、web的MVC和早期的MVC思想

web是基于一种啥子模式?请求/响应模式,是不是嘛?也就是说用户不发送请求,视图就不能什么自己?更新自己,是不是嘛?

而传统的MVC程序,当模型层数据发送改变时,可以通知模型层进行相应的改变。

因此,web应用的mvc思想与观察者模式存在一定的相似之处,但又不完全一样。

读到这里,用户只需要明白,传统的MVC思想是不是就是web的MVC思想?不是嘛!web的CVM思想是在传统的MCV思想之上改变了一定的结构嘛!

(MCV MVC CVM CMV,顺序应该没什么影响吧?)

转载于:https://my.oschina.net/qkmc/blog/898985

电动汽车数据集:2025年3K+记录 真实电动汽车数据:特斯拉、宝马、日产车型,含2025年电池规格销售数据 关于数据集 电动汽车数据集 这个合成数据集包含许多品牌年份的电动汽车插电式车型的记录,捕捉技术规格、性能、定价、制造来源、销售安全相关属性。每一行代表由vehicle_ID标识的唯一车辆列表。 关键特性 覆盖范围:全球制造商车型组合,包括纯电动汽车插电式混合动力汽车。 范围:电池化学成分、容量、续航里程、充电标准速度、价格、产地、自主水平、排放、安全等级、销售保修。 时间跨度:模型跨度多年(包括传统即将推出的)。 数据质量说明: 某些行可能缺少某些字段(空白)。 几个分类字段包含不同的、特定于供应商的值(例如,Charging_Type、Battery_Type)。 各列中的单位混合在一起;注意kWh、km、hr、USD、g/km额定值。 列 列类型描述示例 Vehicle_ID整数每个车辆记录的唯一标识符。1 制造商分类汽车品牌或OEM。特斯拉 型号类别特定型号名称/变体。型号Y 与记录关联的年份整数模型。2024 电池_类型分类使用的电池化学/技术。磷酸铁锂 Battery_Capacity_kWh浮充电池标称容量,单位为千瓦时。75.0 Range_km整数表示充满电后的行驶里程(公里)。505 充电类型主要充电接口或功能。CCS、NACS、CHAdeMO、DCFC、V2G、V2H、V2L Charge_Time_hr浮动充电的大致时间(小时),上下文因充电方法而异。7.5 价格_USD浮动参考车辆价格(美元).85000.00 颜色类别主要外观颜色或饰面。午夜黑 制造国_制造类别车辆制造/组装的国家。美国 Autonomous_Level浮点自动化能力级别(例如0-5),可能包括子级别的小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值