SSH真的好用吗?
今天中午闲来无事,浏览了一下济南本地的招聘网,所有招聘java职位的,99.99%的都要求struts,spring,hibernate。
我就纳闷了,SSH有那么好用吗?有多少公司在按基本的SSH配置来用,又有多少公司在SSH基础上自己做了封装?
反正我觉着不好用
道先说hibernate,不支持动态映射;运行时改变表结构,要重新生成配置文件,重启应用服务器,sqlserver分页查询效率太低,用的是top,而sql2005有了row_number,当然你可以自己封装SQLServerDialect。
再说strtus,你弄那么复杂干啥,那个formBean有啥用?你直接给我POJO就得了,弄得我满屏都是set get.唉~~~~~

解决方案 »

  1.   

    看你说了这么多明显就是你自己不会用
    酸葡萄就是这么来的
    不支持动态映射?你到底用没用过hibernate
    分页查询语句明显就是嵌套语句
    不用set/get??数据封装从何谈起??JAVA的基础都没有学过吗??
      

  2.   

    学好JSP servlet 框架就是小意思了  无非就是对jsp servlet的封装
      

  3.   

    ssh狂流行,多少有点炒作的效果和公司跟风的原因,但它确实不错的
    那个set、get,是封装数据啊,就算你只用jsp+javabean,也应该用set/get
      

  4.   

    1. 道先说hibernate,不支持动态映射;运行时改变表结构,要重新生成配置文件,重启应用服务器,
    你没用过session.createSQLQuery吗?
    运行时改变表结构,要重新生成配置文件: 那你自己写,还需要重新写SQL呢,累不累?2. sqlserver分页查询效率太低,用的是top,而sql2005有了row_number,当然你可以自己封装SQLServerDialect。
    不喜欢这个,可以自己实现分页部分代码,然后给Hibernate使用。
    何况你钱多的,非要使用SQLServer微软的这种东西?不跨平台,能力也就MySQL级的。
    MySQL不比他强?3. 再说strtus,你弄那么复杂干啥,那个formBean有啥用?你直接给我POJO就得了,弄得我满屏都是set get.
    struts复杂?喜欢自己去一个一个的request.getParameter("abc"),遇到int, double的再去Integer.parseInt(...)?
    有大量验证的时候累死你。
    何况现在还有更简洁的struts2。自己不了解不能认为就不好。
      

  5.   

    就算有几百个set,get又怎么样,Eclipse的Generate Getters and Setters没用过吧,也就是2秒钟的事。
      

  6.   

    ssh是基础,这个会了后,其他框架学起来也就简单了
      

  7.   

    看楼主的样子,好像对市面上的主流、非主流框架都非常有研究似的。那么我非常虚心加膜拜的请教楼主一个替代SSH的框架组合~~  我一定狂顶 狂顶   
      

  8.   

    个人感觉非常好
    ftp很强大
      

  9.   

    国人吗 就是有点盲目跟风……呵呵 和客户说ssh就会显得有本事!
      

  10.   


    Struts2 就直接是pojo了
      

  11.   

    看你说了这么多明显就是你自己不会用
    酸葡萄就是这么来的
    不支持动态映射?你到底用没用过hibernate
    分页查询语句明显就是嵌套语句
    不用set/get??数据封装从何谈起??JAVA的基础都没有学过吗??
      

  12.   

    呵呵,我先从SQLServerDialect说起,Hibernate的分页查询是嵌套select top.这没有错,但如果是百万级的呢?千万级的数据量呢?是否会存在效率问题?既然Sql2005已经提供了row_number,我觉着有必要重新封装SQLServerDialect.

    SQLServerDialect.getLimitString()
    只能是我们自己的来做。
    如果要自己封装SQLServerDialect.getLimitString(),那么势必要重新解析hql,重新获得sql,取解析出order by,工作量不小,写进hibernate显得有点鸡肋.再说动态映射,hibernate确实提供了动态模型,但却没有提供重新加载配置文件的功能,我们只能关闭SessionFactory,重新启动,对于服务器来说,压力不小,对于用户来讲,因为在流程表单中加了一个字段,给应用带来了未知的、潜在的危险。比如有线程在使用DAO.
    我曾经使劲研究了SessionFactory.addFile后面的代码,也许我很笨,SessionFactoryImpl里面的代码,我是没有能力改的,既使改了,也只能测试用,不敢用在项目中。再说get set,我并不是不要get set 而不是要在formBean与POJO之间进行get set,或是封装在struts里面,用反射的方式给我们简单一点一句话即可 copy(formBean from,Pojo to),不要说用户在流程表单中加一个字段,我们就要重新写strtus代码。
    给我们一个pojo,pojo能得到的数据是能过form配置得到,而不是硬编码得到。当然这一块可以自己封装。所以我有此疑问,到底有多少家单位自己在SSH基础上做了改动,有多少家单位使用SSH原始的用法。
      

  13.   

    与EJB相比较,还是很支持SSH的
      

  14.   

    开发大型企业网站首选就是 ssh
      

  15.   

    呵呵这么激动啊!为了应对这个问题,从最早的动态生成java动态编译,动态生成hbm...再到后来使用hibernate动态模型,再后就干脆自己写了一个持久层。运行时可以改变表结构,重新生成配置文件,改变部分动态添加到内存配置里面,没有重新写SQL的问题。
    还有,实施人员在实施的过程中,经常遇到的问题就是人事卡片,资产卡片,项目卡片,里面的字段维护的问题,只要是不牵涉业务的字段,只作为信息的字段,我想让实施人员在实施过程中就可以办理了,而不是添加一个信息字段就要来麻烦开发人员。
      

  16.   

    楼主,看看大家对你的反对意见,多多学习,学好SSH还是必须的。
      

  17.   

    我是很讨厌用这几个框,现在很多程序员都注重框架,成天说着:"我会某某架",好像程序的水平就是比谁会的框架多一样,为什么真正的底层实现却没有人关心。我觉得框架的使用一点也不重要,只要我们知道它们使用的一些新的思想是怎样的就行了,想我工作过的几个公司去面试时,都要求着要精通SSH框架,但去了以后才发现,他们都没用,我工作几年了从没遇到一个公司用过SSH框架,公司要求会,只是要求知道它们的思想,而不是你一定要会用,会用有什么用,如果程序员就是会用别人开发的工具,真是悲哀。