java里面有控制器吗_mvc中 控制器部分可以使用Javabean完成吗?为什么?

模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。

1、模型(Model)

模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑.

2、视图(View)

视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。

3、控制器(controller)

控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。

MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性

早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。很多VB,Delphi等RAD程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象

管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能

JSP Model 1 与 JSP Model 2

SUN在JSP出现早期制定了两种规范,称为Model1和Model2。虽然Model2在一定程度上实现了MVC,但是它的应用用并不尽如人意

JSP Model 1

JSP Model 2

model2 容易使系统出现多个Controller,并且对页面导航的处理比较复杂

有些人觉得model2仍不够好,于是Craig R. McClanahan 2000年5月提交了一个WEB framework给Java Community.这就是后来的Struts.

2001年7月,Struts1.0,正式发布。该项目也成为了Apache Jakarta的子项目之一

Struts 质上就是在Model2的基础上实现的一个MVC架构。它只有一个中心控制器,他采用XML定制转向的URL。采用Action来处理逻辑

へ伤苡趫载ご 回答时间 2008-02-20 20:49

其他答案MVC就是模型,视图,控制器.

模型不用说了吧,视图只负责显示,不要带任何逻辑.控制器就是负责控制.

遵循这个思想就可以了。

现在有很多MVC的框架.比如JAVA EE 的STRUTS之类的.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python时间计算_python计算两日期之间工作日时长

1. 原因:使用dateutil的rrule时,计算速度比较慢 def axx(): from dateutil import rrule received_time datetime.datetime.strptime(2019-04-21 23:00:00, %Y-%m-%d %H:%M:%S) complete_time datetime.datetime.strptime(2019-04-22 01:00:00, %Y-%m-…

QSlider QLCDNumber 最常用的函数和 信号槽 (以后用到在加)

QLCDNumber : 函数: 槽: display(int); QSlider: 函数: setMinimum(int); setMaximum(int); 信号: valueChanged(int); 转载于:https://www.cnblogs.com/lc-cnblong/archive/2013/02/06/2907680.html

【进阶技术】一篇文章搞掂:Spring高级编程

本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新)。 本文基于《Spring5高级编程》一书进行总结和扩展,大家也可以自行研读此书。 十一、任务调度 任务调度主要由三部分组成 : 任务:即需要…

全国计算机等级考试题库二级C操作题100套(第41套)

更多干货推荐可以去牛客网看看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程刷题面经求职讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!!点击进…

2012年终总结 二

2019独角兽企业重金招聘Python工程师标准>>> 接上文。。。 经过一些搜索和了解之后,最后选定了我现在这个公司。现在,至少我没有感觉到我选错。 刚近公司,进行了新人的入职培训1天,这个主要是了解公司状况。而后&…

java核心卷一读书感想_关于JAVA核心技术(卷一)读后的思考(lambda表达式的讨论)...

lambda表达式lambda表达式是一个可传递的代码块。可以以后执行一次或者多次。在程序运行中我们经常会遇到传递代码段的情况,但是我们一般都是先构造一个对象,然后通过对象调用相应的代码块来实现传递代码块的目的,这个方法十分繁琐&#xff0…

POJ 2773 欧几里得

思路&#xff1a; 若a和b互素的话&#xff0c;则b*ta和b一定互素 用周期性做就好了 //By SiriusRen #include <cstdio> using namespace std; int s[1000050],m,k; int gcd(int a,int b){return b?gcd(b,a%b):a;} int main(){while(~scanf("%d%d",&m,&…

python语言包括哪些实现_Python语言基础考察点:python语言基础常见考题(一)

一、python是静态还是动态类型&#xff1f;是强类型还是弱类型&#xff1f; 1、动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2、动态还是静态指的是编译期还是运行期确定类型 3、强类型指的是不会发生隐式类型转换 若类型语言强类型语言4、python作为后端语言优缺点 …

全国计算机等级考试题库二级C操作题100套(第42套)

第42套&#xff1a; 给定程序中&#xff0c;函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后&#xff0c;并保持数字字符串和非数字字符串原有的先后次序。例如&#xff0c;形参s所指的字符串为&#xff1a;def35adh3kjsdf7。执行结果为&#xff1a;de…

不同的编译器:GCC G++ C C++的区别

gcc 是c的编译器&#xff0c;g是c的编译器。cc一般是一个符号连接&#xff0c;指向gcc。CC一般是makefile里面的一个名字&#xff0c;具体是什么根据实际情况决定。gcc和g都是GNU(组织)的一个编译器。误区一:gcc只能编译c代码,g只能编译c代码两者都可以&#xff0c;但是请注意&…

python 3.8.0安卓_Python 3.8.0稳定版正式发布

IT之家 10月15日消息 Python是一种面向对象的动态类型语言&#xff0c;最初被设计用于编写自动化脚本&#xff0c;随着版本的不断更新和语言新功能的添加&#xff0c;越来越多被用于独立的、大型项目的开发。Python 3.8.0稳定版现已正式发布&#xff0c;带来了许多新特性和优化…

全国计算机等级考试题库二级C操作题100套(第43套)

第43套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;在形参ss所指字符串数组中查找与形参t所指字符串相同的串&#xff0c;找到后返回该串在字符串数组中的位置&#xff08;下标值&#xff09;&#xff0c;未找到则返回-1。ss所指字符串数组中共有N个内容不…

网站开发中JS中的常用语句

1.document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >(head,body) 4.一个浏览器窗口中的DOM顺序是:window- >(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElement…

由于开发者通过接口修改了菜单配置_开发者说:Seata 0.7.0 版本,你 get 'Metrics' 技能了吗?...

从用户的视角来感受一个开源项目的成长&#xff0c;是我们推出「开发者说」专栏的初衷&#xff0c;即在开发者进行开源项目选型时&#xff0c;提供更为立体的项目信息。专栏所有内容均来自作者原创/投稿&#xff0c;本文是「开发者说」的第9篇&#xff0c;作者郑扬勇&#xff0…

BZOJ1045 HAOI2008糖果传递(贪心)

显然最后每个小朋友所拥有的糖果数就是糖果数总和的平均数。设该平均数为t。 环的问题一般断成链&#xff0c;但这个题似乎没有什么很好的办法在枚举断点的时候快速算出答案&#xff08;我甚至不知道会不会有断点&#xff09; 于是我们假装把他断开了。假装现在我们已经知道了1…

java中的 请求体_在spring mvc test中访问请求体和请求头

我创建了一个spring boot应用程序&#xff0c;这就是我的控制器的样子 . 我使用postman在请求体中发送json&#xff0c;在请求头中发送一个字符串&#xff0c;然后进一步散列json并将其与请求头获取的字符串进行比较 . 问题是我不知道获取请求体和请求头以便使用MockMvc测试相应…

Java 多线程(三) 线程的生命周期及优先级

Java 多线程&#xff08;三&#xff09; 线程的生命周期及优先级 线程的生命周期 线程的生命周期&#xff1a;一个线程从创建到消亡的过程。 如下图&#xff0c;表示线程生命周期中的各个状态&#xff1a; 线程的生命周期可以分为四个状态&#xff1a; 1.创建状态&#xff1a; …

eclipse 导入maven项目_手把手的Spring Boot Web 项目教程,Hello Spring Boot

在开始之前&#xff0c;我们需要去创建一个SpringBoot项目&#xff0c;大家可以去 http://start.spring.io/ 这个网站生成一个项目。如图&#xff0c;这边可以对SpringBoot项目进行详细设置&#xff1a;下面这个web一定要勾选&#xff1a;SpringBoot版本号选择1.5.10全部设置好…

优雅降级和渐进增强

作为一名前端开发人员&#xff0c;最头疼的莫过于浏览器兼容。远古时期万恶的IE6&#xff0c;到现在CSS3不兼容的IE7/8.为了保证不同版本浏览器都有共同或更优化的用户体验&#xff0c;前端搬砖的我们不得不与浏览器兼容顽强斗争。而渐进增强和优雅降级两种不同的开发流程&…

全国计算机等级考试题库二级C操作题100套(第44套)

第44套&#xff1a; 函数fun的功能是进行数字字符转换。若形参ch中是数字字符’0’&#xff5e;’9’, 则 ‘0’转换成’9’,‘1’转换成’8’&#xff0c;‘2’转换成’7’&#xff0c;……&#xff0c;‘9’转换成’0’&#xff1b;若是其它字符则保持不变&#xff1b;并将转…