一、创建Web项目
二、加入Struts2支持(Struts-2.3.1.2版本)
1、 拷贝相关jar包到lib目录下
(1) struts2-core-2.3.1.2.jar
(2) xwork-core-2.3.1.2.jar
(3) ognl-3.0.4.jar
(4) freemarker-2.3.18.jar
(5) commons-logging-1.1.1.jar
(6) commons-io-2.0.1.jar
(7) commons-lang-2.5.jar
(8) commons-fileupload-1.2.2.jar
(9) javassist-3.11.0.GA.jar
(10) struts2-spring-plugin-2.3.1.2.jar(整合Spring)
2、 配置web.xml文件
(1) 打开struts-2.3.1.2\apps\struts2-blank.war文件,查看其中web.xml配置
(2) 拷贝相关内容如下:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、拷贝struts-2.3.1.2\apps\struts2-blank.war中的struts.xml文件到src下,大致内容如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constantname="struts.enable.DynamicMethodInvocation"value="false"/>
<constantname="struts.devMode"value="false"/>
<packagename="default"namespace="/"extends="struts-default">
<default-action-refname="index"/>
<global-results>
<resultname="error">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mappingexception="java.lang.Exception"result="error"/>
</global-exception-mappings>
</package>
<!--Addpackageshere-->
</struts>
4、增加相关的Xxx.hbm.xml文件到相应的包下面,内容大致如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-mappingPUBLIC
"-//Hibernate/HibernateMappingDTD3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.oracle.po">
<classname="CustomerBean"table="Customer">
<idname="name"column="uname"/>
<propertyname="password"column="upassword"/>
</class>
</hibernate-mapping>
三、增加Spring支持(Spring-framework-2.5.6版本)
1、拷贝相关jar包到lib目录下
(1)spring.jar
(2)aspectjweaver.jar
2、在spring-framework-2.5.6\samples目录下拷贝applicationContext.xml到src目录下面,并修改文件名为applicationContext-common.xml,大致内容如下
<?xmlversion="1.0"encoding="UTF-8"?>
<beansxmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
</beans>
3、修改web.xml配置文件,增加内容如下:
[coe]
<!--增加监听,负责加载Spring文件-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--指定Spring的相关配置文件-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
[/code]
四、增加Hibernate支持(Hibernate-distribution-3.6.10.Final)
1、拷贝相关包到lib下,包括hibernate-distribution-3.6.10.Final\lib\required文件夹下相关jar文件,jar如下列表:
(1)hibernate3.jar
(2)antlr-2.7.6.jar
(3)commons-collections-3.1.jar
(4)dom4j-1.6.1.jar
(5)jta-1.1.jar
(6)slf4j-api-1.6.1.jar
(7)hibernate-jpa-2.0-api-1.0.1.Final.jar
2、拷贝数据库相关的jar文件到lib下,如:mysql-connector-java-5.1.18-bin.jar
五、整合Hibernate和Spring
1、修改applicationContext-common.xml文件,增加内容如下:
<!--1.配置DataSource数据源-->
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<propertyname="driverClassName"value="com.mysql.jdbc.Driver"/>
<propertyname="url"value="jdbc:mysql://localhost:3306/MySSH"/>
<propertyname="username"value="root"/>
<propertyname="password"value="ok"/>
</bean>
<!--2.配置SessionFactory-->
<beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!--注入DataSource-->
<propertyname="dataSource"ref="dataSource"/>
<!--映射文件列表-->
<propertyname="mappingResources">
<list>
<value>com/oracle/po/Customer.hbm.xml</value>
</list>
</property>
<!--Hibernate相关属性配置-->
<propertyname="hibernateProperties">
<props>
<propkey="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<propkey="hibernate.show_sql">true</prop>
<propkey="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!--3.定义事务管理器-->
<beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<propertyname="sessionFactory"ref="sessionFactory"/>
</bean>
<!--4.配置Spring对Hibernate的事务管理的传播特性-->
<tx:adviceid="txAdvice"transaction-manager="transactionManager">
<tx:attributes>
<tx:methodname="add*"propagation="REQUIRED"/>
<tx:methodname="modify*"propagation="REQUIRED"/>
<tx:methodname="del*"propagation="REQUIRED"/>
<tx:methodname="*"read-only="true"/>
</tx:attributes>
</tx:advice>
<!--5.配置Spring对Hibernate事务的切入点-->
<aop:config>
<aop:pointcutexpression="execution(*com.oracle.dao.*.*(..))"id="allManagerMethod"/>
<aop:advisoradvice-ref="txAdvice"pointcut-ref="allManagerMethod"/>
</aop:config>