个人认为JSF + EJB3.0是趋势

解决方案 »

  1.   

    恩恩,基础确实很重要,学习的过程就象是在盖高楼,地基打的越牢固,起层就越快的;
      我虽然现在只对hibernate比较熟悉,但给我2天时间,我肯定能搞定struts;我没在吹虚什么,因为我的一个水平相当的同学就是2天搞定的;
      强烈建议大家地基打牢固再起层!省的老盖到一半回过头去从新刨坑!
      
      

  2.   

    Spring+Hibernate是目前的主流没错,不过这只是服务层和持久层的部分,至于显示层,有多少人愿意使用不够成熟且不易使用的Spring MVC?!
    而Struts经过长达5年的发展,现在已经是相当成熟和稳定了,而它的最大好处就在于它易于学习和使用。如果一个公司招Web程序员,会struts的一抓一大把,使用struts技术,软件公司不愁招不到程序员,程序员也不用担心没有公司不要...诸多因素导致了struts当之无愧的成为了目前的主流。
    Spring MVC?它好,因为它完美的结合了Spring框架的诸多特性;它不好,因为它开发过程复杂,难以学习和使用,而且jsp中需要加入很多特定的标记,这些注定了它不会成为当前的主流。将来很难说,什么都在变,特别是这些开源的东东,变化得更快...
    大家也可以关注下Tapestry,这也是一个显示层框架,它的核心是组件化开发,所有的东西都成了组件,要做一个新页面时,可以拿着已有的组件来拼凑,这样极大的减少了代码量,并提高了程序的复用性,另外,它完美的实现了界面和后台的分离,html页面中不用添加和使用任何其他标记,仅仅是在纯html标记中加上一个它的id。Tapestry也有不好的地方,它的学习曲线太长,一个普通程序员将需要花费较长的时间才能学会使用它,而一个公司也需要花费很长的时间来积累自己的组件库。
    所以我觉得目前的两种结构应该是:struts+spring+hibernate,这适合于小型项目的开发,优点是快速、灵活,简洁;tapestry+spring+hibernate,这适合于中大型项目开发,开发越到后期,积累的组件库越多,代码编写量越少,模块复用性越高。后边这两点,我想应该是一个有“远见”的软件公司所期望的...
    至于楼主提到的JSF,听听Matt Raible(J2EE5.0专家组成员、开源项目Roller Weglogger、XDoclet、Struts Menu,DisplayTag,AppFuse提交者)的意见:
    JSF的优点:J2EE标准、易于开发、丰富的导航框架
    缺点:JSP标签差、技术不成熟
    项目时间紧迫且没有太高要求,Struts是首选;对于大规模的企业级项目,考虑Tapestry,因为它的可重用组件;如果你是一名开源项目的开发人员,考虑WebWork,因为它要求你对它本身的运行机制要清楚(强迫你分析它的源代码) 
    而EJB,不敢预测它未来会怎样,不过也不抱太大的期望!
      

  3.   

    学习,还不知Spring为何比Struts强。
      

  4.   

    IceCraft(心淡情浓)哥们,我想问下你,你说的这些你都用过吗?都有项目经验吗?