1.我个人感觉,struts就是强制程序员使用MVC模式,如果单纯的使用jsp+servlet+javabean,程序员自己控制的好,一样实现MVC,完全可以不用struts,并且这样灵活性更高,框架似的东西虽然提供某些好处,但也有碍手碍脚的地方
我就是这样理解的,不知道对不对
---------------------
2.spring我是一点不懂,不理解啥意思,看书上的概念,也是越看越晕,不像struts一样好理解,主要实现MVC,一看就明白了
这个spring到底能干啥呢,什么情况下适合使用呢,哪位兄弟能指点小弟一把,真是万分感谢,或者指点我一下学spring该怎么入门
------------------------------------------
3.hibernate,我的理解:最大的好处就是可以换数据库而不改代码,动一下配置文件就OK了,但换数据库的情况好像和中大奖的几率相似......
程序员开发过程中,使用hibernate好像还不如直接写sql语句痛快呢,而且它也是根据配置文件、程序代码、参数等,拼接出sql语句给数据库执行,这样增加了很多操作,对性能有影响
为啥还要用hibernate呢,直接写sql语句多灵活呀
请兄弟们看在同行的份上,帮小弟一把吧,我实在太困惑了,这些问题折磨了我好久
---------------------------------------------------------------------------
看你上面一直强调MVC,我想说的是一个框架并不是由一个MVC就能你解决的,它是N个模式的综合。
对于1:你看到只是表面的,其实你在用STRUTS的时候也就是用的它的一个流程标准来进行工作的,对于一个公司来说,用它减少了很多的维护成本;
对于2:spring是一个企业级而且轻量级的开发框架,里面有很多的东西,比如:AOP,DI;还有自己的页面,从前台到后台都自己的一套,并且和当下流行的框架都有非常好的衔接;
对于3:一个软件换数据库的概率是不大的,如果你的软件要复用的话,也就是用在另一个客户,他不要你和上一个客户同样的数据库,你就知道它的好处了。
解决方案 »
- 关于eclipse的使用
- 求解?文件上传程序能运行,存放上传文件的目录中时空的,没有上传的文件
- 求一个java正则,在线等。
- 求一个正规表达式,删除字符串中的数字和符号,用空隔代替,但是如果是汉字的电码\0000-\9999不能删除
- J2EE 有什么好书可以推荐的?
- weblogic 内嵌LDAP服务器问题,急!!!!!
- 使用org.apache.commons.net.ftp.* 包完成FTP服务器上操作时出现疑难问题,求助
- 如何插入/更新oracle的long型字段。
- 关于JDBC异常关闭的错误
- 急需能支持上传手机excel表格软件
- jsp和xml的问题,在线等
- 一个应界生的技术问题加一点找工作的困惑求助各位前辈
对于第一个问题的回答,我可否这样理解:“strtus对编程人员来讲是实现架构,使程序便于维护,这样也就降低了了公司的成本”
第二个问题:我在找找资料学一下吧,主要是针对spring没入门,不知道从哪下手,这时候最苦恼
第三个问题:从您对我的回答来看,hibernate用在商业产品上比较合适,卖给不同的客户可以使用不同的数据库,主要还是换数据库的问题,但这是对公司有好处,是商业上的问题,我想知道对程序员来讲,从开发的角度看,hibernate能带给我们什么
> 第二个问题:我在找找资料学一下吧,主要是针对spring没入门,不知道从哪下手,这时候最苦恼
> 第三个问题:从您对我的回答来看,hibernate用在商业产品上比较合适,卖给不同的客户可以使用不同的数据库,主要还> 是换数据库的问题,但这是对公司有好处,是商业上的问题,我想知道对程序员来讲,从开发的角度看,hibernate能带给> 我们什么Lz确实一直在提MVC模式,我想知道Lz对模式的理解是什么?对MVC模式的理解又是什么?
在我看来一种模式就是前人对一种问题解决的经验,解决双向依赖问题的观察者模式,减少子系统复杂度的facade模式,实现类与资源解耦的工厂模式等等。MVC模式就是前人提供给我们能够更好的实现三层结构(表现层、业务层、持久层)的一种解决方法,而struts、spring和hibernate这些框架就是一些有经验的技术前辈对这些模式的诠释。选择合适的框架对于开发的人来说,就是减少了你开发的难度、时间和风险。而这些对于一个项目来说是至关重要的。Hibernate是一个ORM的开源框架,其最为重要的意义也就在于ORM,而并不在于是否能够换到另外一个数据库上。我很想知道Lz对ORM的理解是什么?对OO的理解又是什么?
1 java可以让你自由的书写代码,而struts 约束你必须按照某个框架来写,好处楼上那位已经说了,编码统一。
你的程序,可以让你的同事用更少的时间看懂,如果项目人员超过5人,且大家是按照模块划分的,那么保证各个模块的编码风格统一是非常重要的。
你可能哪一天就离开公司另谋高就了,可公司还在,程序还得有人维护。2 Spring 我用的最多的就是IOC, 比如你在做页面,需要某个数据,它来自于另一个同事负责的业务层,而那个同事需要的数据来自于数据层。
难道他们2个不完成工作,你就没办法测试了吗?
此时,Spring可以帮你,你可以用他给你的程序注入虚假的程序,也就是你自己实现一个业务接口。 业务层完成了,你只需要简单更改一下配置文件里面的实现类,把你的改成他的就可以了。
其他的AOP什么的,我很少用。日志有很多方法可以实现,权限也是一样。3 hibernate 主要是减轻SQL的编码量, 你改动了一个字段,你要修改n多的地方,还不能保证没有忘记一处。呵呵!这是我体会最深的。
开发阶段,需求经常变,数据库也经常变,这个真的不错。
当然,我自己更喜欢JPA,毕竟是标准EJB3里面的东西, 我不用Hibernate, 换成Toplink / weblogic 的XXX(我忘了因为我不用那个) 程序仍然能用。 Hibernate 也实现了JPA,所以我依然用H 至于换数据库,是个理由,但决不是主要理由。 每个数据库都有其特性,如果你的程序为了通用而放弃那些特性,那是不负责任的做法。客户关心的是1 能否使用
2 能否减少投资和费用,这一条就和程序的效率非常有关。
3 能否继续升级一般我都是MySQL版的价格为nK,SQL版的 nnK, Oracle版的,至少 1nnK, 用得起Oracle/DB2的,没有小公司
总之,这三个东西,可以减轻程序员的整体开发难度和维护难度。
当然,如果大家编码规范弄得好,也没必要拘泥这个。
v:显示,现在常用的为:HTML,JSP等. 高一点:struts现在很多已经在用了,最简单的方法直接看一些网页的扩展名就可以了,如"*.do"或直接以"/"结尾.
c:控制,现在常用的为:servlet,struts等. 高一点:Spring(框佳),他的作用就是来管理javabean,hibernate等之间的关系的
MVC是因为软件系统发展的越来越庞大,分工也越来越细致,完全有必要让美工和程序员鸽各自只关心自己的工作。 那种包治百病的jsp,美工看不懂,程序员估计也看的头大。
spring是个很好的东东,管理项目所以的bean,提供事务、AOP, 并且融合常见的struts,webwork, ibatis,hibernate框架,还很容易融合hissian,xfire等等东西。
hibernate这个东西推荐大家看看gav king写的指南。在有DBA团队的公司肯定不用这个,都是ibatis。 但是这个东东的思想,ORM方法值得学习
解决方案级别的策略是推出减少变化、增强扩展的框架,struts、spring、hibernate应运而生。
通过科学规范带来商业成本(开发和维护)的降低,制造赢利