总结了一下   struts  spring  hibernate.
这三个东西
struts 表现层 
spring 逻辑层
hibernate持久层spring 通常搁置在【WEB-INF】这个下面,用来操作各种各样的功能,配合javabean ,以及servlet.   主要分为四个层面  运用SSH的情况下:Dao service Hibernate web.这4个简单的层面!
        主要用来配置beans.
代码示例:
        DAO
        <bean id="baseDaoImpl" class="com.dodow.dao.impl.BaseDaoImpl">
                <property name="sessionFactory">
                        <ref bean="sessionFactory" />
                </property>
        </bean>
        <bean id="loginDaoImpl" class="com.dodow.actions.login.dao.impl.LoginDaoImpl">
                <property name="sessionFactory">
                        <ref bean="sessionFactory" />
                </property>
        </bean>
        Hibernate
        <bean id="dataSource"
                class="org.apache.commons.dbcp.BasicDataSource">
                <property name="driverClassName"
                        value="com.mysql.jdbc.Driver">
                </property>
                <property name="url"
                        value="jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8">
                </property>
                <property name="username" value="root"></property>
                <property name="password" value=""></property>
        </bean>
        <bean id="sessionFactory"
                class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
                <property name="dataSource">
                        <ref bean="dataSource" />
                </property>
                <property name="hibernateProperties">
                        <props>
                                <prop key="hibernate.dialect">
                                        org.hibernate.dialect.MySQLDialect
                                </prop>
                                <prop key="hibernate.show_sql">true</prop>
                        </props>
                </property>
                <property name="lobHandler">
                        <ref local="lobHandler" />
                </property>
                <property name="mappingResources">
                        <list>
                                <value>com/dodow/dto/SysUserlist.hbm.xml</value>
                                <value>com/dodow/dto/SysUserpower.hbm.xml</value>
                                <value>com/dodow/dto/SysRole.hbm.xml</value>
                                <value>com/dodow/dto/ZulinInfo.hbm.xml</value>
                                <value>com/dodow/dto/Todaywork.hbm.xml</value>
                                <value>com/dodow/dto/Schedule.hbm.xml</value>
                                <value>com/dodow/dto/Workproject.hbm.xml</value>
                        </list>
                </property>
        </bean>
        Service
        <bean id="loginServiceImpl" class="com.dodow.actions.login.service.impl.LoginServiceImpl">
                <property name="baseDao">
                        <ref bean="baseDaoImpl" />
                </property>
                <property name="logindao">
                        <ref bean="loginDaoImpl" />
                </property>
        </bean>
        web
        <bean id="bangongAction" class="com.dodow.actions.bangong.BangongAction" scope="prototype">
                <property name="bangongService" ref="bangongService"></property>
        </bean>
        
struts 表现层  主要用来表述外面jsp展示到外部的页面  以及做一些处理。包括页面代码也包含struts2的页面代码,其中要配置struts.xml
        代码示例:
           struts.xml
        <struts>
        <constant name="struts.multipart.maxSize" value="1099511627776" />
        <constant name="struts,devMode" value="true"></constant>
        <include file="com/dodow/web/config/struts-login.xml"/>
        <include file="com/dodow/web/config/struts-user.xml"/>
        </struts>    
        struts_login.xml
        <struts>
        
        <package name="login" extends="struts-default" namespace="/login">
                <action name="Login" class="loginAction">
                        <result name="input">/index.jsp</result>
                        <result name="success">/success.jsp</result>
                </action>
        </package>
        </struts>
        struts_user.xml
        <package name="user" extends="struts-default" namespace="/system/usermanage">
                <action name="user" class="userAction">
                        <result name="userList">/system/usermanage/userList.jsp</result>
                        <result name="toAdd">/system/usermanage/adduser.jsp</result>  
                        <result name="addUser" type="redirect">/system/usermanage/user!list.action</result> 
                                
                </action>
        </package>        这个Hibernate  貌似交给Spring 管了。貌似Hibernate 工厂无效了呢!也比较迷惑了。各位高手 需要纠正的 给我纠正一下,这就是我自己的间接,另外有什么提议就说,帮助我学习!

解决方案 »

  1.   

    恕我直言,这种东西还需要总结,尽是说怎么怎么配置,就算你忘了上网上查一下就出来了,当然做要做过ssh开发的都有会有一套配置代码放在那里,你应该总结一些理论性的东西(strut1和struts2有何区别呀谈谈hibernate的优发,spring的事务,AOP思想,),或经常易出错的东西,和你以前出的一些奇怪的错误是怎么解决的,
      

  2.   

    老喜欢做这样的划分:struts:表现,spring:逻辑,hibernate,持久。
    试想一下,网页流程谁在控制?是struts,不是spring,spring无非就是个工厂,把需要的对象注入到其他对象中而已。真正的表现层应该是struts的逻辑视图,如jsp、freeer、jfreechat、jastreport这些东西
      

  3.   

    其实理解有所偏差,spring不是所谓的逻辑层,你可以理解为整合层,哈哈,自己发明的词哦,把Struts和hiberate都整合起来。
      

  4.   

    ding逻辑是struts自己来控制的 spring是框架容器struts单独用 他就是光棍一条
    加入spring他就结婚了 被spring管着
      

  5.   

    ding逻辑是struts自己来控制的 spring是框架容器struts单独用 他就是光棍一条
    加入spring他就结婚了 被spring管着这个理解有创意
      

  6.   

    struts 表现层  
    spring 逻辑层   ?
    我的理解:
    spring解耦合struts控制层、表现层
      

  7.   

    额,能不能不用SSH,你先用底层的试试?那样你或许能总结的更好点。
      考虑下,当你离开了SSH,还能干啥。
        最近很多公司貌似都实现了MVC分离,去研究下。
      

  8.   

    其实,严格来讲struts并不能算作是表现层,叫做控制层比较客观。表现当然是使用jsp在客户端生成html页面来表现用户请求的数据的。
      

  9.   

    spring 主要的是IOC 和 DI. 还有其 AOP 思想.IOC 和 DI 可以降低耦合. 同时减少实例化所付出的代价,提高了系统性能.其AOP应用,最普遍的就是事务管理了,实用Spring AOP进行事务管理优点是可以设置某个方法所执行事务的类型,可以减少代码冗余,提高工作效率.总的说来spring是个好东西,建议读一读 《spring 揭秘》,很深入解析spring源码.
      

  10.   

    成熟的东西 学半天 都是一堆xml配置  
    结果,连xml是怎么自动配置 读写 都不会,这难道是一个程序员应该引以为傲的吗?确实ssh赚钱 很火,但我们得看清楚本质,做一个称职的程序员...不攻击任何人  谢谢!