Agree   jinsanqi (i'm鸟人)  !Rewrite the same strcuture,rewrite the jsp,rewrite the bean,
All of those are burdernsome job and eleminating my enthusiasm.

解决方案 »

  1.   

    目前我的感觉使用Struts+HIBERNATE就可以了,十事半通不如一事精通,
    用一个框架就用熟用精,不断重构,自然就越做越容易了。简单的我觉得只要是前端MVC框架,后端简单得使用DAO+VALUE
    也能解决大多数问题了。
    简单得构架可以使程序员容易上手而且使用起来更灵活(很多地方能简单就可以简单,^_^),毕竟不是每个人都
    会参与很大得项目的,做的中小项目还是居多,所以也不见得非要使用复杂的
    构架,
    而且相对来说简单的构架很容易训练一个新手。倒是异常处理值得商榷,不知道谁有没有好的想法和实践。
      

  2.   

    er~~How to manage the exception?Define a personal exception,runtime type or else?
      

  3.   

    我们公司现在的构架:
    mvc:
    View(包含taglib的jsp) 和 Web层之间使用struts的控制器来映射action,
    Web层 和 Model层(即数据逻辑层)之间使用petstore的waf映射event和ejbaction。
    用的效果还不错。
      

  4.   

    没有什么经验而谈!!你的要求实在太高了! 我们所重用的只是各个功能上的模块!
    这对我们已经够用了! 不同的项目有不同的要求 和 框架 构造! 也就是说你不可以一为的追求所有新技术的集合!!看你的观点似乎要总结出一套  可重用的 完善的建模系统?!?! 有些不太合理!
    所以我认为 你如果能 很好的结合你开发的 所有类 或 类的集成 已经很不错了!!http://www-900.ibm.com/developerWorks/cn/java/l-struts1-1/index.shtml
    上去看看 对你不是有没有 帮助 ^_^
      

  5.   

    楼主说的4点很有意思:
    1.数据库连接
    2.日志和异常处理
    3.框架模式
    4.资源文件处理这恰好是Spring框架所提供的东西。在Persistence Layer上,Spring提供了一个便利的管理机制,并且扩展性也不错。如果希望采用O/R mapping作为基本的persistence手段,建议采用Hibernate这样的轻量级方案,不提倡随便用entity bean。日志方面,一般的框架都会用log4j或者J2SE 1.4 logging API,没什么可说的。倒是异常,这是一个有趣的话题。简单说,(1)异常应该分层,异常的层次应该和应用的层次一一对应;(2)系统内的异常传播应该尽量采用un-checked exception。如果你采用entity bean作为persistence机制,由于un-checked exception会导致EJB的崩溃,可能你必须做一些妥协。但在DAO层以上,传播的异常应该全部是un-checked。web framework在很大程度上是一个缺乏新意的话题。如果不打算采用Tapestry这样的另类框架,MVC模式将是你的首选。需要注意的是,MVC虽然能保证web层的干净,但并不足以保证web层的轻薄,而一个薄web层是应用移植性的重要保障,并且便于单元测试。习惯于Struts的人常常犯两个错误:(1)用form bean(继承ActionForm)作为DTO;(2)在action(继承Action)里写大量的业务代码。在一个理想的web应用里,form bean(或者与它类似的特定于框架的数据传输机制)唯一可以出现的地方只能是JSP页面和action;action唯一的工作只能是在form bean和DTO之间做转换,并调用——通常应该只有一次——service层的方法,最后转到某一个出口。如果你的action做了更多的工作,请考虑将这些事情放在service层里去做;而form bean出现在service层更是不可接受的,因为这会使你的service受缚于Struts,从而失去可移植性。最后,资源文件处理……Spring提供了一种极具创意(因此也极富冲击力)的、基于Java Bean的配置解决方案:BeanFactory用于根据配置文件装配Java对象,ApplicationContext用于提供对象的唯一全局访问点。用这样的办法,可以避免配置文件的混乱和Singleton的滥用。说到底,Web只是对J2EE应用的一个包装而已。一个好的Web应用必定首先是一个好的J2EE应用,这就决定了Struts之类的pure web framework并不能对J2EE应用起到很大的帮助——如果能够把基础设施和体系结构做好,哪怕只用JSP也可以得到非常漂亮的Web应用,毕竟Struts在参数装配方面所做的贡献并不大。所以,我会推荐Rod Johnson的Spring框架,这可以算得上一个真正意义上的“J2EE框架”,提供了从persistence layer直到web layer的全面支持。尽管Spring提供的东西都比较简单,但很多时候一点简单的帮助就可以大大提高应用的质量了。Spring的主页:http://sourceforge.net/projects/springframework
      

  6.   

    说说我现在的项目情况:1。数据库连接
    Hibernate
       
    2.日志和异常处理
    lo4j
    异常处理:IBM的教程有介绍,我打算做成页面显示异常信息,比如:数据库连接失败,主键重复。3.框架模式JSP模式一或二4.资源文件处理
    没什么好说的。
      

  7.   

    我靠,要把这些全部封装起来,那tmd就不是微软了吗!
      

  8.   

    Schlemie give me more consideration on WebFramework,
    it's really excellence in experience but not just an idea.
      

  9.   

    多谢楼上几位
    Hibernate在09期的程序员杂志上看到过一篇介绍文章。觉得EJB比它简单一些,但是我不知道它是怎么解决关联问题的?to Schlemiel(维特根斯坦的扇子) :
    Spring是什么东东?这个东东好用吗?我得顺着你提供的网址去看看。我的问题其实很简单,举一例子:
      比如说市场上已经有组装成一辆汽车的所有零件,现在我们讨论的是怎样利用这些零件组装成汽车?我们需要考虑怎样才能把它做成是一辆既经济实用又美观大方而且还方便后期维修和改进的好车。
    这就是构造一个系统的框架,对于不同的应用它可以有不同的组织方式,就像汽车可以分成小骄车,卡车,客车...
    至于用B/S模式开发的系统一般都是些WEB应用。所以我想我们可以就此发表一些议论。
      

  10.   

    EJB比Hibernate简单?不会吧?EJB才是真正的重量级解决方案,起码实体的复杂度就偏大——Hibernate中的实体都是POJO。在对象关联方面,Hibernate已经很好地解决了,每个实体从数据库load上来,相关联的对象就已经到位,直接使用就行。我倒是觉得EJB实在很复杂,用熟了Hibernate以后又用了一次JBOSS CMP,差点被烦死。Spring是Rod Johnson开发的一个J2EE framework,我用着还比较舒服。即使不用它的MVC部分,它提供的infrastructure也可以和其他web framework(例如struts)集成。你举的例子真是糟糕,让我看不明白你到底什么意思。不过很愿意继续讨论下去。在我看来,衡量一个web应用是否构造良好,有一个简单的标准:看这个应用是否可以轻松地改变view,例如从JSP view换到XSLT view,甚至是变成C/S模式。一个优秀的J2EE应用,应该可以很轻松地从B/S改装成C/S。这还是一个体系结构的问题,web层上的东西其实还是很简单的。
      

  11.   

    用什么是根据项目的需求定的!!有的用JSP和JavaBean就足够啦
      

  12.   

    Not agree qqyb2000,most time,the system(project) needs the scaleable.
    Just use jsp + bean,the system would be hard to revise and reuse.To  Schlemiel: I would research on Hibernate,do u have any advise?
      

  13.   

    to dmhorse(dmhorse):
    要研究就研究罗,直接看Hibernate的文档,比我的建议要管用得多。
    Hibernate并入JBOSS以后,据说后续的版本将兼容JDO 2.0——如果JDO规范修改得足够好的话。对于Hibernate用户来说,这是个大利好,自己的学习投资将得到最大限度的保护。
      

  14.   

    嘿嘿!
    在楼上几位高人面前,小弟实在有些相形见绌。
    刚刚下载了一个spring,虽然还不知道怎么用。
    但看它的lib目录下的确集成了好多东东,居然连poi也有,嘻嘻,这个东东刚刚几天前做excel打印的时候用到了。
    to Schlemiel:
    你说Hibernate比EJB要难用?我以前用JB开发CMP的时候倒觉得很好用,点点几下就可以根据表生成一个CMP了,然后再加一些QL语句就OK了。
    但是看了《程序员》杂志,我倒觉得它更难用些?不过现在不能用JB了,所以用这个倒是个好主意?
    哦,问一下,像spring这样的J2EE框架其它还有吗?
    用spring是否需要一些其它辅助工具?
      

  15.   

    to jinsanqi(i'm鸟人):我很少用那种向导式的方便工具,再说我也用不起JBuilder,那玩意对我来说太贵了,而且并不能提供那么多的价值。在我看来,一种O/R mapping机制的简单与否,恐怕不是取决于“开发的速度”的吧?——更何况,还是使用一种特定工具时的开发速度。一种非POJO的O/R mapping方案,不管它用起来有多么轻松,它都是一个臃肿的重量级方案,因为它束缚了应用的可移植性。如果采用entity bean作为O/R方案,你的实体就显式地受缚于EJB,更换persistence layer就成为了不可能。天才少年Rickard Oberg的作品WebWork也是一个不错的J2EE框架。但Oberg做事情总是三分钟热情,很少能把自己精彩的点子做得很完善的,WebWork也是如此。比较之下,还是Spring的框架比较完善,功能也比较齐备。这里有几篇很好的文章,看看应该就可以了解Spring的用法了:http://www.springframework.org/documentation.html
      

  16.   

    你的要求可以整个struts 和petstore,这两各架构,来达到目的,struts用来做前端控制,接见petstore中调用EJB,JDBC的方法和
    设计模式,至于JDO,我觉得它是一个新事务,等成熟后,再加入,况且JDO和EJB的功效类似,没有必要都用
      

  17.   

    TO Schlemiel(维特根斯坦的扇子):
      你真强。知道得这么多啊。
      Spring在国内是不是应用比较少?我搜了一下都没找到相关的帖子。
      小弟是一个在杭州混的小仔,以后请多多指教。
      

  18.   

    to jinsanqi(i'm鸟人):
    巧了,我也在杭州。
    国内的资料本来就少,再加上J2EE技术发展变化快,自然是难找到。做J2EE的人,还是只能靠自己,直接去吸收第一手的资料。等别人咬碎嚼烂了再来喂给你,怕这东西也就快过时了。
      

  19.   

    1、数据库
    DB2
    2、应用服务器:
    WebSphere5.0
    3、开发模式:
    Struts(典型的MVC架构)
    4、开发语言:
    当然是Java了
      

  20.   

    to Schlemiel(维特根斯坦的扇子) :
      CSDN真是太小了,居然近在咫尺,呵呵!
      你有用spring做过一些系统吗?效果怎么样?
      我在文三街这边,最近在搞蓝图大道,你知道的吧。
      我的MSN:[email protected]
      有空聊聊。
      

  21.   

    蓝图大道这种面子工程肯定能挣不少钱吧?我们手上的项目钱很少,我都有点提不起精神来,所以试着玩一些新鲜玩意。Spring主页上那篇“集成Spring和Tapestry”值得一看,这种用法是很可推荐的,尽管web framework不一定用Tapestry。我现在也只是试着用Spring做一些基础设施,例如配置管理、persistence layer之类的。这将是我在杭州过的第一个黄金周长假。像这种旅游城市,想来一定很拥挤,真是讨厌。
      

  22.   

    to wkoji:
      那就交个朋友吧。to  Schlemiel(维特根斯坦的扇子):
      你老家是哪的?一定很远吧,我先回家休息几天,再回杭州逛几天。工作9天班已经快受不了了。
      咱们不管它什么大道,只要能把路搞得干净些,不要太拥挤就好。
      你做的东东有没有注释什么的,能不能发给我让我学习学习?
      
      

  23.   

    大家都在杭州,就交个朋友吧。嘿嘿。to Schlemiel(维特根斯坦的扇子) :  管它什么道,让它变得清净些,少拥挤些才是我们所希望的。
      你家是不是很远?我国庆先回去休息两天,然后再回来杭州玩。
      听说那时候西湖根本不能去,人山人海。咱还是平时去去算了。
      你自己做的基于spring的系统有没有写一些注释,能不能让小弟学习学习。谢谢!
      

  24.   

    前端MVC框架,后端使用DAO+VALUE.Spring是Rod Johnson开发的一个J2EE framework,我用着还比较舒服。即使不用它的MVC部分,它提供的infrastructure也可以和其他web framework(例如struts)集成.Web只是对J2EE应用的一个包装而已。一个好的Web应用必定首先是一个好的J2EE应用,这就决定了Struts之类的pure web framework并不能对J2EE应用起到很大的帮助——如果能够把基础设施和体系结构做好,哪怕只用JSP也可以得到非常漂亮的Web应用,毕竟Struts在参数装配方面所做的贡献并不大。