为什么不是struts+spring+hibernate呢?
http://www.csdn.net/develop/Read_Article.asp?Id=26696
http://www.csdn.net/develop/Read_Article.asp?Id=26698
http://www.csdn.net/develop/Read_Article.asp?Id=26699
http://www.csdn.net/develop/Read_Article.asp?Id=26700
http://www.csdn.net/develop/Read_Article.asp?Id=28089

解决方案 »

  1.   

    我们做的项目就是Struts加EJBStruts是用的多,对他的层次分明的结构很喜欢EJB是在2年前用过,当时用的时候,只是操作数据库用到
    最大的印象就是慢,因为在VAJ里启动一次EJB服务花很长时间现在的项目,EJB还是只操作数据库,所以更深一刻的就不是很懂这个项目是100个人/月的,这么大的项目,Struts加EJB的话,层次分明开发起来却是有很大的好处
    嘿嘿,只学到这些,真不好意思!
      

  2.   

    为什么不是tapestry + spring + hibernate呢?EJB sucks。EJB3是有了改进,不过是那群闭门造车的人破例的参考了一下hibernate2而受到了很大的*启发*
      

  3.   

    自动建表是插件实现的,与Hibernate本身没什么关系。
    在eclipse中使用hibernator插件,可以从你写好的持久化类自动生成映射文件然后自动在数据库中建表。
    我们也可以使用myeclipse插件,从数据库表自动生成持久化类和映射文件。
    这些都是为了方便开发,hibernate的优秀之处并不在此。
      

  4.   

    其实我觉得这样的框架比较好:struts+session bean+ hibernate
      

  5.   

    现在开发Struts觉得有点麻烦了,配置太多,象WEB层的重量级,不知是否也有人有同感
      

  6.   

    没用过EJB,也不知道session bean到底有什么好处
    也许用hibernate替换entity bean是一种好的思路
    但是看到更多的是完全摒弃ejb,用struts(webwork/tapestry)+spring+DAO模式+hibernate的组合
    唉,自身没有相关的项目经验就是不爽
    说再多也是拾人牙慧,没有自己的心得
      

  7.   

    哎,我也觉得struts太麻烦了,要写一大堆的代码,不过hibernate真的不错,比起Entity bean效率真的是高多了。
      

  8.   

    我想学习DAO ,但是找不到好的资料,那位仁兄如果知道的话,给提供几个号网站,小弟在此次谢过了。
    我想在正学着struts,但是在jb中,struts的struts-config.xml中一配置数剧源,就抛异常,如果删掉,就没有问题,我不知道是什么原因。麻烦高手指点一下迷津。异常如下:
    F:\JBuilderX\jdk1.4\bin\javaw -classpath "F:\JBuilderX\thirdparty\jakarta-tomcat-4.0.6-LE-jdk14\bin\bootstrap.jar;F:\JBuilderX\jdk1.4\lib\tools.jar"  -Dcatalina.home="F:/JBuilderX/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14"  org.apache.catalina.startup.Bootstrap -config E:\project\StrutsTest\Tomcat\conf\server8083.xml start 
    HttpConnector Opening server socket on all host IP addressesStarting service Tomcat-StandaloneApache Tomcat/4.0.6WebappLoader[]: Deploying class repositories to work directory E:\project\StrutsTest\Tomcat\workWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-beanutils.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-beanutils.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-collections.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-collections.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-dbcp-1.2.1.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-dbcp-1.2.1.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-digester.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-digester.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-fileupload.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-fileupload.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-lang.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-lang.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-logging.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-logging.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-pool-1.2.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-pool-1.2.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/commons-validator.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\commons-validator.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/jakarta-oro.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\jakarta-oro.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/msbase.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\msbase.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/mssqlserver.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\mssqlserver.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/msutil.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\msutil.jarWebappLoader[]: Deploy JAR /WEB-INF/lib/struts.jar to E:\project\StrutsTest\webtest\WEB-INF\lib\struts.jarWebappLoader[]: Reloading checks are enabled for this ContextStandardManager[]: Seeding random number generator class java.security.SecureRandomStandardManager[]: Seeding of random number generator has been completedContextConfig[]: Added certificates -> request attribute ValveStandardWrapper[:default]: Loading container servlet default2002-11-13 14:11:00 org.apache.struts.util.PropertyMessageResources <init>信息: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true2002-11-13 14:11:00 org.apache.struts.util.PropertyMessageResources <init>信息: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true2002-11-13 14:11:01 org.apache.struts.util.PropertyMessageResources <init>信息: Initializing, config='ApplicationResources', returnNull=true2002-11-13 14:11:01 org.apache.struts.action.ActionServlet initModuleDataSources严重: Initializing application data source PUBS_KEYjava.lang.ClassCastException at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1081) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:810) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3279) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3421) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.start(StandardHost.java:638) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) at org.apache.catalina.startup.Catalina.start(Catalina.java:781) at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) at org.apache.catalina.startup.Catalina.process(Catalina.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)StandardWrapper[:action]: Marking servlet action as unavailableStandardContext[]: Servlet  threw load() exception: javax.servlet.UnavailableException: Initializing application data source PUBS_KEYjavax.servlet.UnavailableException: Initializing application data source PUBS_KEY at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1091) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472) at javax.servlet.GenericServlet.init(GenericServlet.java:256) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:918) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:810) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3279) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3421) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardHost.start(StandardHost.java:638) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1123) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:343) at org.apache.catalina.core.StandardService.start(StandardService.java:388) at org.apache.catalina.core.StandardServer.start(StandardServer.java:506) at org.apache.catalina.startup.Catalina.start(Catalina.java:781) at org.apache.catalina.startup.Catalina.execute(Catalina.java:681) at org.apache.catalina.startup.Catalina.process(Catalina.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)StandardWrapper[:invoker]: Loading container servlet invokerHttpConnector[8083] Starting background thread
      

  9.   

    我最近也在看这些方面的内容。
    暂定的模式是:第一层 Spring(MVC)+Struts(tags&validator)
    第二层 Session Bean
    第三层 DAO
    第四层 CMP Entity Bean(简单操作)+Hibernate(复杂操作)
      

  10.   

    struts作为表现层还是相当不错的。
      

  11.   

    Struts+SessionBean+EntityBean的方式作过尝试,但只是自己瞎倒腾,没有实际项目可以练手。-_-!!楼主的方案里提到的EJB应该是指SessionBean和MDBean吧?俺也想尝试一下,正在学习中,呵呵。。上半年看了一下Hibernate,感觉比做EntityBean还麻烦,当然这里指的是用JBuilder做EntityBean,用UltraEdit做Hibernate,如果Hibernate什么时候也得到JBuilder或Eclipse之类IDE工具的鼎力支持就好了。。
      

  12.   

    hibernate for Eclipse插件:tanghan
      

  13.   

    我做过struts+sessionbean+entityBean 感觉并发数据量大的时候速度有点慢!