为什么Struts、Spring、Hibernate框架可以被整合的问题

<span style="background-color: rgb(255, 255, 255);"><span style="color:#33cc00;">there is no stupid question!</span></span>
<span style="background-color: rgb(255, 255, 255);"><span style="color:#33cc00;">
</span></span>
<span style="font-family: Arial, Helvetica, sans-serif;">       ssh如何结合起来的?简单但又对于初学者很有意义的问题。单独配置Struts需要两个配置文件</span><span style="font-family: Arial, Helvetica, sans-serif;">一个是web.xml,另一个是Struts.xml。web.xml里面包含了Struts的</span><span style="font-family: Arial, Helvetica, sans-serif;">org.apache.struts2.dispatcher</span><span style="font-family: Arial, Helvetica, sans-serif;">,</span><span style="font-family: Arial, Helvetica, sans-serif;">filter.StrutsPrepareAndExecuteFilter类</span><span style="font-family: Arial, Helvetica, sans-serif;">而struts.xml则包含的动作映</span><span style="font-family: Arial, Helvetica, sans-serif;">射信息,</span><span style="font-family: Arial, Helvetica, sans-serif;">整合以后还会包含对spring的授权信息,这样struts就和spring结合起来了。如下:</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
    <filter>
        <filter-name>struts</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
    </filter>
 
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>REQUEST</dispatcher>        
        <url-pattern>/*</url-pattern>
    </filter-mapping>
 
    </span><span style="color:#3366ff;"><listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener></span><span style="color:#666666;">
     
</web-app></span></span>


2、struts.xml【前vs


<span style="font-size:18px;"><struts>
  <constant name="struts.i18n.encoding" value="UTF-8"></constant>
   
  <constant name="struts.objectFactory" value="spring"/>
   
  <package name="basicstruts" extends="struts-default">
   
  <action name="listProduct" class="productActionBean" method="list">
    <result name="listJsp">list.jsp</result>
  </action>
   
</package>
</struts></span>

       Hibernate如果单独配置需要两个xml文件,一个是Name(你的类名).hbm.xml,里面包含的是java类和表格映射
关系,另一个则是hibernate.cfg.xml包含的是数据库登陆相关信息,整合SSH之后ame(你的类名).hbm.xml依旧存在
但是hibernate.cfg.xml中的配置信息则是由spring的配置文件applicationContext.xml里面来配置,进而将数据库登陆
相关信息注入到ActionBean中;同时ame(你的类名).hbm.xml以参数的形式包含进了applicationContext.xml

3、hibernate和spring产生关系

<span style="font-size: 18px;"> </span><span style="font-size:18px;"><bean name="sf"
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="ds" />
        <property name="mappingResources">
            <list>
                <value>pojo/Product.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <value>
                hibernate.dialect=org.hibernate.dialect.MySQLDialect
                hibernate.show_sql=true
                hbm2ddl.auto=update
            </value>
        </property>
    </bean>    
         
    <bean name="ds"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8" />
        <property name="username" value="root" />
        <property name="password" value="admin" />
    </bean>       </span>

这样通过配置文件之间的授权和关联,ssh三个框架就被有机的结合在了一起。


你可能感兴趣的:(为什么Struts、Spring、Hibernate框架可以被整合的问题)