# SSH框架整合 1. 先確認是否載入需要的jar包,包含spring核心,struts,spring對struts的接管spring-struts,Hibernate與資料庫驅動,及spring-orm等對orm的接管 2. 確認web.xml是否在<context-param>加入spring容器xml組態檔路徑設定 ```xml <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:application-context.xml </param-value> </context-param> ``` 3. 確認web.xml是否在<listener>加入ContextLoaderListener讓spring監聽web容器啟動時觸發容器初始化事件 ```xml <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> ``` 4. 確認web.xml是否加入struts相關設定 ```xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <load-on-startup>3</load-on-startup> </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> ``` 5. 在spring.xml中加入bean,bean要與struts的接管struts在甚麼路徑時打到哪個Action類別 ```xml <bean id="/hello" class="com.test.action.HelloAction"/> ``` 6. 將原本action裡的type改為讓spring接管的DelegatingActionProxy ```xml <action path="/hello" scope="request" type="org.springframework.web.struts.DelegatingActionProxy" validate="false" > <forward name="hello" path="/index.jsp" /> </action> ``` 7. 在spring.xml整合hibernate.cfg.xml組態檔設定,當成功即可刪除掉原本的SessionFactoryUtil及Hibernate.cfg.xml ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="mappingResources"> <list> <value>dept.hbm.xml</value> <value>emp.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> <prop key="hibernate.connection.driver_class">oracle.jdbc.OracleDriver</prop> <prop key="hibernate.connection.url">jdbc:oracle:thin:@xxx </prop> <prop key="hibernate.connection.username">user</prop> <prop key="hibernate.connection.password">password</prop> <prop key="hibernate.show_sql">true</prop> </props> </property> </bean> ```