struts+spring+hibernate是怎样的架构?

我是java初学者,只学了点语法.现在看到很多网站采用struts+spring+hibernate的架构?看了点资料,说这3个都是框架,请问是不是就是类似.netfra... 我是java初学者,只学了点语法.现在看到很多网站采用struts+spring+hibernate的架构?看了点资料,说这3个都是框架,请问是不是就是类似.netframe这样的东东,也就是封装了一些函数和类等?java做网站只用jdk不可以吗?为什么要3个呢?这3个是不是就是"简化的jdk",可以这样理解吗?jdk包含很多函数,而这3个各只包含部分函数
我用php,asp,.net开发过多年网站了,就是不知道java怎么这么多东西
是不是不装这3个东东,写代码时部分函数就会编译出错?
展开
 我来答
jvm7572
2007-07-23 · TA获得超过783个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:174万
展开全部
举一个小例子回答楼主的问题。
加入我要盖一件小平房(做一个网站),我需要做的是:
1:买一块地。(租一台服务器)--1天
2:申请一个门牌号码(买一个域名)--1天
3:买材料,请2、3个工人,开始盖房(准备所需要的开发工具IDE什么的,搭建测试环境,找2,3个程序员--刚毕业的大学生就可以了)。--1周
4:盖房(敲代码编程)--1到3个月。
5:房子盖好了,东敲敲西敲敲看牢不牢固(自己测试一下功能都齐全了没)--1周。
6:如果有问题,比方说卧室不够透气,把卧室的墙多开一扇窗户(哪个页面有问题,删除重新写一个)。比方说墙里面的电线发现有问题,把墙凿开,换一根电线。
6:完工。

总共耗时2-4个月左右。
现在我要盖一栋大楼(开发一个企业级项目),本质上还是盖房子,但是如果就像盖小平房一样的去做。结果是怎样的呢?
盖到18楼了,突然说5楼内测的电线堵住了,5楼以上都没有点,于是得把5楼以上的全拆了,拆到5楼,把墙凿开,把电线换一根,再继续往上面盖。
相信没有哪栋大厦是这样盖出来的。

于是有了建筑师(软件架构师)这个职位,有了建筑设计学(软件架构学)这么个说法。
盖大楼,一开始的步骤是这样的。
地还是要买,不过得做土地勘察,样本采集,看地质如何。
然后得画图纸,这图纸一画就是很久,要考虑到整栋大楼的方方面面,哪些墙可以供拆除,就在里面放电线水管什么的。哪些是主力墙不能拆除。这里卖弄的学问太多,笔者也无法弄清楚。

然后就是打地基。这也是相当重要的环节,地基没打好,整个房子都不稳固。然后就是用钢筋水泥等,打造整栋大楼的框架。让房子非常坚固。

再后才是逐步完善大楼内部,一层层的砌砖,一间间地粉刷,装修。就算某一块出了问题。去掉或者修复那一块就行了,整栋大楼屹立不倒,稳稳当当。

企业级项目中,也是同安的过程。
先用UML建模,建立数据库模型,项目的分层架构设计,使用框架让整个项目健壮起来,动一处而不会牵动全身。

struts,spring,hibernate都是为了让项目更健壮而产生的。如果只是要做一个小网站,我觉得很没有必要使用这些东西,就ASP,PHP一定能做得更快,就像盖小平房一样。就算要用Java,就用JSP+JavaBean就行了。如果是开发企业级项目,ASP和PHP是绝对不能跟J2EE相提并论的。

Struts是MVC框架,它的作用不是让人能干什么(它能做的事JSP都能做),它的作用是不能让人干什么。就好像,设计师要砌墙工人在哪里砌砖,他就不能去别出砌一样。给程序语言严格的规范,让它按照规范走,不会随心所欲地去编代码。这样可以保证项目的高度一致性。

Spring是J2EE轻量级框架。它的做法好比把项目分成一个个地组件,哪一块出了问题,换掉那一块就是了。别的地方根本不用动。就好像我刚刚举的5楼电线出了问题,就在5楼把墙凿开,换一个电线即可,不用担心5楼的墙凿开上面的会塌下来。

Hibernate是ORM工具,不能称之为框架,它至少至少有一个好处,在项目做移植数据库的时候,不用切换数据库层的代码。当然它的好处很多。笔者在所有的开源技术中,也最钟情对Hibernate的研究。

不过这些问题,都只有在很大的项目开发中才会用到。所以如是是小项目开发,不建议使用J2EE.
百度网友15147ad
2007-07-13
知道答主
回答量:40
采纳率:0%
帮助的人:15.8万
展开全部
1、只用JDK不行,没有服WEB务器,就象IIS一样。
2、struts是MVC模式的简化,去掉了多servlet,用XML。
3、hibernate体现的编程中面向对象的方法。它是把数据库表中的每个字段都看做是一个对象。是通过一组set和get方法组来实现的。
4、spring是一个轻量级组件。它是动态的体现了类与类之间的关系,而不是传统的编号中一定要确定类A和类B的关系,而在S中,而是动态的。因为他有一个工厂类。
这只它简单的一点说明,这三个组件的博大精神,你只少要有关1-2年的编程体会才行。
我也是一个新手,不对的地方请大家批评批评。MSN:duoluoboy365@hotmail.com
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洪秋梵雅GB
2007-07-13 · TA获得超过4874个赞
知道小有建树答主
回答量:901
采纳率:0%
帮助的人:902万
展开全部
建议你查阅各种资料,这里一两句话也不会让你马上明白过来,
只能告诉你 struts+spring+hibernate 都需要jdk

struts+spring+hibernate 为什么要这样,当你理解web 层次结构就会明白
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式