`
javafan_303
  • 浏览: 957145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ssh难道就这么繁琐吗?

    博客分类:
  • j2ee
阅读更多

最近在搞一个项目,需要用到SSH ,说实话我已经有2年没有用过这个东东了,已经不知道这个东东发展成什么样子了。搞了一下,实在是太麻烦了!DAO、iml、hbm、pojo、service、struts、spring配置文件真多好多!用封装好的jdbc需要开发1个小时,用这个就要用上1天!哎大家有什么感受呢?

分享到:
评论
63 楼 真三武侯 2015-05-25  
答案是:能!
62 楼 真三武侯 2015-05-25  
我还能评论上去吗?
61 楼 fins 2009-01-13  
根据不同的项目 不同的开发人员结构 有不同的用法

脱离实际情况 说框架 没啥意义

根据以往的经验: 中小型精品团队 定好开发规范直接用就OK 由于团队各个是精品 用好SSH不成问题

对于人海行普通团队 找几个牛人 封装&简化一层中间框架 很有必要

至于 中小型普通团队 和 大型精品团队 ,我认为 这种结构是不合理的
不予以讨论.
60 楼 yuan 2009-01-13  
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),
客户端于服务器端的传送是json,也可以是xml格式,
服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事

引用一段我觉得挺有道理的话:
《Expert One-On-One J2EE Development Without EJB》 写道
越来越多的人开始寻找合适的开源方案来解决常见问题,结果常常令人非常满意,因为只有那些既可靠又有用的开源产品才会被广泛采用。与之相反,自主开发的内部方案往往只是作为“我们绕过这个问题的办法”苟延残喘,它们没有被淘汰或许只是因为人们不愿得罪它们的设计者——这些人通常在公司里地位颇高。
………………
一个人觉得自己与众不同,觉得本企业的需求比较复杂、比较罕见,这也是不难想见的事情。很少有企业会表示,自己的多数需求全是典型需求,没有特殊之处。
事实上,很多应用系统解决的都是类似的问题,但是,一旦相信自己的特殊性,那么就可能会无视这个事实,容忍过度的复杂性,容忍重新发明轮子的做法。举个例子:最近我参与了一个项目,该项目自己开发了一个通用基础架构层;这东西的复杂性简直吓人,但其实他要解决的问题中,有80%都是大多数J2EE应用系统的通用问题,而且现有的一些框架早就提出了远为优秀的解决方案。这样做的结果,是导致了在开发中浪费了几百万美元,而且今后还要背上昂贵而累赘的包袱,需要定期维护、增强
………………
一些个人、一些团队之所以会实现那种过度复杂的架构,往往还有一些让人更加无法原谅的原因。
在所谓“以复杂性为生的行业”中,帝国本位主义是一个很险恶的因素。复杂性能带来新工作。在大型项目中,如果你采取任何措施降低复杂性,都肯定会危害到其他若干“帝国”的利益。帝国本位主义者们明知有一些工作存在方向错误,但还是欣然地守住这一亩三分地;如果你想质疑这些工作的初衷,那就等着他们反唇相讥好了。比如说,在上文提到的那个项目中,我指出这个基础架构层的整个想法就是有偏差的,但是对方却报以猛烈的反驳,这里的实际原因不外乎是:如果这个项目不成立,那么整整一个团队(七八名开发人员)都成了多余的人,那个半吊子的架构师的名声会毁于一旦,而且为该项目提供咨询的顾问公司收到的报酬也会缩水。具有讽刺意味的是,这个基础架构项目的花费十倍于预算、并且还延误了整体项目进度,本来早该被处理,但是恰恰是因为已经花费的代价太高,所以管理者反而无法下手了。没有人——哪怕是与该项目毫无直接干系的人——敢于向高层管理者透露,这项目浪费了这么多时间和金钱。
59 楼 xxdneu 2009-01-13  
hibernate 你可以用jdbc代替,但如果想加上缓存的功能、不同数据库的适应、对象之间的关联关系维护等等的功能, 你会发现也需要做很多工作。

spring 的事务机制、aop、ioc, 自己想实现这些很困难吧,至少不容易。还有各种template,虽然很简单,但是也不用自己再写一套吧。而且spring的代码写的很谨慎,我想自己不是经验非常丰富,肯定不如用人家的。

至于struts 我觉得这个东西自己写个mvc也不是什么难事,用不用就看你自己的了。
58 楼 javafan_303 2009-01-13  
没想到我的一句牢骚,引发大家那么多的“口水战”,罪过~~,我想我是老了,2年前用这套东西,现在升级了很多,已经不知所云了。时间紧急,也没有时间来研究这些流行的东西,有点“兵马俑”了,希望大家到此为止,不要再争论了~~
57 楼 不吃鱼的猫 2009-01-13  
ssh只所以是de factor(事实标准) 是因为well adopted(广泛接受的),对各种开发问题都有现成的解决方案。

当然很多NB的architect之所以自己写一个framework代替现有的是因为他对现有的框架不熟悉,不想花时间研究,就自己开发一个,可以totally control,这个是很常见的。

还有就是项目大了,上帝们(客户)各种复杂的需求,现有的framework无法解决,就会开发一个自己的了。
56 楼 jiakechong 2009-01-13  
大概我也没表达清楚,只是简单形容下,现在我也在随便说说,
1至于他的实力我认为是有的,在美国读书多年,工作10己年了,intel公司.,摩托罗拉,还其他大公司带领过团队或合作过
当然山外有山,人外有人,比他强的多的人多的是,
2 至于我说了:‘他说过spring等是垃圾’,我只是太简单说了,没完全说完引起大家误会, 我认为:大概
  因为ssh很普及,大家都会用,所以招人做如果很急 某些合适的项目可能比较快,
  不是很适合我的项目把

3 至于我的项目,系统是自动兜售某物品的,一部部机器是全放在超市,或地铁站门口,(在大陆,现在这看不到)有点象银行的ATM,
所以系统还包含操作‘硬件部分’全是他完成的, 还有跟银行的接口安全性都很高,每一部操作都要提交一个操作码等等
每一部动兜售某物品机器都装有自己的jboss,mysql数据库,    有一个数据中心总部也有自己的mysql和jboss
每一部动兜售某物品机器需要有些常用的数据,很少变更的数据都是从自己的mysql去取,而很重要的数据如客户信息需要到数据中心的mysql
去取,   而且机器随着业务的扩展一直可以增加

4 大家不要在为了我那句话争论了,哈哈,  以后不讨论了,继续在javaeye潜水中,只看不说
55 楼 andywu 2009-01-13  
“很垃圾”,是口头禅而已,不用批得这么狠吧。大家平常心点吧。
54 楼 cats_tiger 2009-01-13  
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),
客户端于服务器端的传送是json,也可以是xml格式,
服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事

要说struts2的代码比较乱,我是同意(其实是水平有限,没看懂),不过spring hibernate的代码可是很经典的。你贴一点他的代码让大家学习学习?
53 楼 lookdd1 2009-01-13  
java难道就没别的话题说了。。。。这种帖子居然这么火爆,而且大家说的内容几乎没啥可参考性
52 楼 bromon 2009-01-13  
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),
客户端于服务器端的传送是json,也可以是xml格式,
服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事


我不想贬低你们公司和你们的架构师,不过从你的描述来看,你们的架构师实在没干什么了不得的事情,这样简单的封装工作连架构设计都算不上。那个跨数据库、跨服务器的东西。。。。说实话,看着就好笑,我宁可相信是你没讲清楚。client与server的解耦,逻辑与接口的解耦,业务与UI的解耦,方案多了去了,webservice/soap为代表的远程调用,WMQ为代表的消息中间件,socket为代表的针对弱客户端通信,这些都只是基础设施,高级一点的架构设计会议都不会谈这些。如果楼主感兴趣,也许你还会惊叹以下内容:消息路由,格式转换,统一服务接口,服务管理与定位,统一对象模型,总线型服务集成,自定义流程编排。。。。。是不是很眼熟?就是SOA嘛。我虽然不觉得SOA有多好,不过对年头对这些东西没多少了解的,也敢自称“实力很强的架构师”?弄了个json/xml数据交换,就敢鄙视spring,这是一种行为艺术吗?另外,开发框架的选择只是架构设计的边角问题,所谓设计,存乎一心
51 楼 caicai_45 2009-01-13  
好像很多人都看不惯说hibernate的不好?权威性?
说白了,hibernate是通用性高,并不是一切。
有些地方必须要求解决存储的效率问题,而且有些特定的领域,只能是自己开发框架,
难道就说别人是重复造轮子?

适用最好,不适用自然要改造,或者重新开发,也许他重新开发的并不通用,也只能解决自己的问题,那有怎么样?

也许说hibernate垃圾的那位仁兄不对,他没发现它的优点,而是针对自己的应用发现了它的缺点, 所以提出 垃圾 , 难道这样的一些言辞,就出来一堆 hibernate的卫道士来提它保驾护航?
50 楼 hahalizx 2009-01-13  
有件衣服跟LZ一样,晕
49 楼 anky_end 2009-01-13  
heavener 写道
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),
客户端于服务器端的传送是json,也可以是xml格式,
服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事

人家很垃圾?那为什么全世界都在用?什么东西都是仁者见仁智者见智,事实就是最好的回答


说“人家很垃圾”,这句话真的听说过好几次了。。
不少所谓自认为大牛的家伙初次看懂此类源代码或许都有这种智力上的感觉,觉得自己也能做到。

不过嘛,实际上不过重复着碰到问题解决问题的过程罢了。一方面还能在技术上绑架公司。等实在不行了,还可以扔下跑路啊

ssh流行到至今,就是因为该解决的问题已经解决的差不多了。
48 楼 anky_end 2009-01-13  
ssh开头搭框架调试时候麻烦点罢了。。
等正式上手开发速度没啥区别,而且调试起来也方便。
可维护性好的多。

至于用自己框架的。。。我也见的不少了。。就我看来,确实是技术绑架罢了。
如果核心设计者离职,后续维护者就等着哭吧

在ssh等未流行之前,每个大公司确实都有自己的类似mvc框架啊,持久层框架,但是最近都多半转移到开源上了。无他,可持续性好的多。

在开源框架上你碰到的任何问题,基本都能在google上找到对应解决方案。实在不行,难道看不懂开源这两只字是什么意思么。。
47 楼 heavener 2009-01-13  
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),
客户端于服务器端的传送是json,也可以是xml格式,
服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事

人家很垃圾?那为什么全世界都在用?什么东西都是仁者见仁智者见智,事实就是最好的回答
46 楼 geweixin 2009-01-13  
orpheus 写道
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),客户端于服务器端的传送是json,也可以是xml格式,

有这种应用? 你们要干嘛? 做开发平台服务?

jiakechong 写道


服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事


那估计他是没看懂吧......

从你说的内容里,我没看到你们的牛人除了封装了个数据交换方式外,干了什么别的工作了。


顶................
45 楼 orpheus 2009-01-13  
jiakechong 写道
我们的公司这个架构是个实力很强的架构师自己架构的,没有用ssh,
是他自己写的,客户端与服务器端开发分开,换句话说客户端可以php,ajax,jsp,struts,==
服务器端是java写的(),客户端于服务器端的传送是json,也可以是xml格式,

有这种应用? 你们要干嘛? 做开发平台服务?

jiakechong 写道


服务器端的设计是可以跨数据库,也可以跨服务器,也就是说可以到//192.169.1.1/的数据库test1去取,
也可以到//192.169.1.2/的数据库test2去取,只要xml文件配置下就可以了,
整个架构搭的,可扩展性强,  我个人认为也确实很不错

问他为什么没用hibernate+spring,他说去看了它的源代码,说它们很垃圾(,)
在这里我写出来并不是想说人家有多厉害,只是表明下确实有这事


那估计他是没看懂吧......

从你说的内容里,我没看到你们的牛人除了封装了个数据交换方式外,干了什么别的工作了。

44 楼 nbkangta 2009-01-13  
框架给的不是技术,是套解决方案,是套设计思想
按照SSH框架下来的是MVC2的架构
按照JDBC+JSP下来的是MVC1或者不符合MVC的
主要是思想

相关推荐

    基于ssh网上答疑系统 java

    【SSH网上答疑系统详解】 SSH(Struts2 + Spring + Hibernate)是一个常见的Java Web开发框架组合,用于构建高效、可维护的Web应用。这个基于SSH的网上答疑系统旨在提供一个在线平台,帮助用户解答疑惑,支持后台...

    最新SSH的jar包

    SSH在IT行业中通常指的是Spring、Struts和Hibernate这三个开源框架的组合,它们是Java Web开发中的常用工具。Spring提供依赖注入和AOP(面向切面编程)功能,Struts处理MVC模式,而Hibernate则是ORM(对象关系映射)...

    ssh无需安装.zip

    总的来说,这个压缩包为用户提供了一种便捷的方式来利用SSH服务,无需繁琐的安装步骤,特别是对于那些希望快速建立安全连接或在受限环境下的用户而言,这是一个非常实用的解决方案。只需解压文件,按照提供的说明...

    SSH框架JAR包集合

    SSH框架,全称为Spring、Struts和Hibernate,是Java Web开发中的一个经典组合,用于构建高效、可维护的Web应用程序。这些框架各自负责不同的职责,Spring作为基础架构框架,Struts处理视图与控制,Hibernate则专注于...

    SSH Secure Shell绿色版 经典版

    SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他服务。SSH Secure Shell经典版是一款绿色软件,意味着它无需安装,可以直接运行,方便用户快速使用和携带。这款软件的主要功能是...

    ssh框架所有jar包

    SSH框架,全称为Struts2、Hibernate3和Spring3,是Java开发中广泛使用的三大开源框架的组合。它们各自在Web应用的模型-视图-控制器(MVC)架构的不同层面上发挥着关键作用,共同构建出高效、灵活且可扩展的企业级...

    SSH Secure远程链接工具

    - **SSH代理**:SSH代理(如ssh-agent)可以管理和存储密钥,减少每次连接时手动输入密钥的繁琐。 - **多窗口管理**:SSH Secure Shell Client的GUI版本可能提供多窗口管理功能,方便同时管理多个远程会话。 总的...

    ssh免密码登录

    ssh root@ssh2 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys' scp authorized_keys root@ssh2:/root/.ssh/ scp known_hosts root@ssh2:/root/.ssh/ ``` #### 四、注意事项 1. **权限管理**:在...

    使用TortoiseGit时如何实现SSH免密码登录

    ### 使用TortoiseGit实现SSH免密码登录的详细步骤 #### 一、背景介绍 ...整个过程虽然略显繁琐,但对于提高开发效率来说是非常值得的。此外,对于安全性也有一定保障,因为SSH密钥比简单的用户名和密码更安全。

    SSH员工管理系统

    SSH员工管理系统是一个基于Java开发的综合管理应用,它利用了Spring、Struts2和Hibernate这三个核心框架,构建了一个高效、可扩展的企业级解决方案。SSH框架是Java Web开发中常用的技术栈,结合了Spring的依赖注入...

    sshjar包SSH开发

    SSH开发是指基于Spring、Struts和Hibernate这三个开源框架的Java Web应用程序开发模式。这三大框架分别负责业务逻辑层(Spring)、视图层(Struts)和数据持久化层(Hibernate)。在进行SSH开发时,正确地配置和选择...

    SSH所有jar包整合

    SSH(Struts、Spring、Hibernate)是Java Web开发中常用的一种框架组合,它结合了Struts的MVC设计模式、Spring的IoC(控制反转)和AOP(面向切面编程)以及Hibernate的对象关系映射功能,大大简化了Java企业级应用的...

    sshSource.zip

    SSH整合开发是Java Web开发中的一个重要概念,全称为Spring、Struts和Hibernate的组合,这三个框架分别是Spring(控制层)、Struts(视图层)和Hibernate(持久层)。本资料"sshSource.zip"包含了基于MVC(Model-...

    SSH的空白框架

    SSH框架,全称为Spring、Struts2和Hibernate,是中国Java Web开发领域中广泛使用的三大开源框架的组合。这个框架集合提供了完整的MVC(Model-View-Controller)设计模式实现,帮助开发者更高效地构建可维护性和扩展...

    ssh框架jar包整合

    SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大框架。这三大框架分别负责表现层、业务层和持久层的管理,为开发者提供了高效、灵活且可扩展的开发环境。在Java Web项目中,SSH框架的...

    SSH.rar_ssh

    SSH,全称Secure Shell,是一种网络协议,用于在不安全的网络环境中提供安全的远程登录和其他服务。在本文中,我们将深入探讨SSH的工作原理、应用、安装与配置,以及在Windows XP系统中如何使用SSH来操作Linux服务器...

    ssh2 ajax jquery

    在IT领域,SSH2、Ajax和jQuery是三个关键的技术组件,它们在构建高效、动态的Web应用程序中扮演着重要角色。SSH2(Secure Shell 2)主要用于提供安全的远程登录和网络服务,Ajax(Asynchronous JavaScript and XML)...

    2016年javaWeb学习SSH注解整合例子demo

    在2016年的版本中,Struts2已经支持注解,如`@Action`, `@Result`等,允许开发者在控制器类和方法上直接标注,避免XML配置文件的繁琐。 2. **Spring**:Spring框架提供了依赖注入(DI)和面向切面编程(AOP)等功能,...

    ssh代码自动生成器

    借助本工具结合myEclipse,不用写任何代码,就可以生成一个很完整的,可运行测试的,SSH架构的Web项目(实现了最基本的增,删,改,查,分页等功能);在此基础上再实现其他的复杂的业务逻辑,让我们从重复重复繁琐...

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    在IT行业中,SSH(Secure Shell)是一种用于在网络之间安全地执行命令和传输数据的网络协议。免密登录是SSH的一种便捷功能,它允许用户在不同的主机之间进行无密码验证的登录,极大地提高了工作效率,特别是在大数据...

Global site tag (gtag.js) - Google Analytics