1.導包
2.配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>zkstudy</display-name>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/strutsconfig/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>2</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<filter>
<filter-name>encoding</filter-name>
<filter-class>action.EncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3.配置struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="LoginForm" type="form.LoginForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action
path="/login"
name="LoginForm"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy"
input="/login.jsp"
validate="true" >
<forward name="success" path="/success.jsp" />
</action>
</action-mappings>
<message-resources parameter="MessageResources" />
</struts-config>
4.配置hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by Eclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<!-- proxool連接配接池 -->
<property name="hibernate.proxool.xml">ProxoolConf.xml</property>
<property name="hibernate.proxool.pool_alias">mysql</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.ProxoolConnectionProvider
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="show_sql">true</property>
<mapping resource="entity/Users.hbm.xml" />
</session-factory>
</hibernate-configuration>
hibernate使用了連接配接池,故還有個配置檔案:ProxoolConf.xml
<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>mysql</alias>
<!--proxool隻能管理由自己産生的連接配接-->
<driver-url>jdbc:mysql://localhost:3306/test</driver-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="zk123456"/>
</driver-properties>
<!-- proxool自動偵察各個連接配接狀态的時間間隔(毫秒),偵察到空閑的連接配接就馬上回收,逾時的銷毀-->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空閑連接配接可以配置設定而在隊列中等候的最大請求數,超過這個請求數的使用者連接配接就不會被接受-->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空閑連接配接數-->
<prototype-count>5</prototype-count>
<!-- 允許最大連接配接數,超過了這個連接配接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定-->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小連接配接數-->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
5.配置spring的配置檔案:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>classpath:hibernate.cfg.xml</value>
</property>
</bean>
<!-- dao -->
<bean id="loginDao" class="dao.LoginDao">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- biz -->
<bean id="loginBiz" class="biz.LoginBiz">
<property name="loginDao" ref="loginDao" />
</bean>
<!-- action -->
<bean name="/login" class="action.LoginAction">
<property name="loginBiz" ref="loginBiz" />
</bean>
</beans>
6.spring和struts整合
6.1 在struts.config.xml檔案裡 添加插件
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="classpath:applicationContext.xml" />
</plug-in>
6.2 在web.xml裡添加監聽器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>