SSH框架搭建笔记

1、建立一个web项目,设置编码格式,建立src下的包,建立资源文件夹
2、加入Spring运行必须的jar包(5个jar包)
    spring-beans-4.1.4.RELEASE.jar
    spring-context-4.1.4.RELEASE.jar
    spring-core-4.1.4.RELEASE.jar
    spring-expression-4.1.4.RELEASE.jar
    commons-logging-1.2.jar
3、建立Spring的配置文件
    3.1 applicationContext.xml
    3.2 在spring参考文档中找到3.1中需要的配置头信息

4、加入hibernate需要的必须包(required 10个)+jdbc的jar包
     4.1 在spring参考文档中的15.3.1(搜Hibernate)查找配置 
         4.1.1 使用的是dbcp连接池配置 导入dbcp需要的2个jar包:①commons-dbcp.jar  ②commons-pool.jar
         4.1.2 如果使用c3p0连接池,需要导入3个jar包:①c3p0-0.9.5.jar  ②c3p0-oracle-thin-extras-0.9.5.jar  ③mchange-commons-java-0.2.9.jar
    4.2 修改连接池的配置信息(driver,url,username,password)
    4.3 书写javabean的orm映射文件(xxx.hbm.xml) 在hibernate官方文档中查找1.1.3 中的xml配置
    4.4 配置hibernate中的sessionfactory  
        4.4.1 将orm的映射文件写入Spring配置文件中的集合注入中
        4.4.2 配置hibernate中的property属性   hibernateProperties
        需要加入的jar包:①spring-orm-4.1.4.RELEASE.jar  ②spring-tx-4.1.4.RELEASE.jar
对上面的配置进行测试,查看是否配置正确

5、导入struts2需要的jar包(12个) 其中有一个jar是重复的(javassist-3.11.0.GA.jar),不要
    5.1导入jar包:①struts2-spring-plugin-2.3.20.jar  ②spring-web-4.1.4.RELEASE.jar
    5.2 建立struts.xml配置文件 拷贝案例中的struts.xml配置文件中的内容  将工厂交给spring进行管理
    5.3修改web.xml文件,添加struts2需要的过滤器   添加监听  上下文参数设置
6、配置事务 需要导入的jar包(4个)
  aopalliance.jar
  aspectjweaver.jar
  spring-aop-4.1.4.RELEASE.jar
  spring-jdbc-4.1.4.RELEASE.jar
5(spring basic)+10(hibernate required)+1(jdbc)+2(dbcp)+2(orm与tx)+11(struts2)+2(web,struts-spring-plugin)+4(事务)=37个jar包

 

需要的jar包(含有json):

 

web.xml中的配置:

 1 <!-- struts2需要的过滤器 -->
 2     <filter>
 3         <filter-name>struts2</filter-name>
 4         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 5     </filter>
 6     <filter-mapping>
 7         <filter-name>struts2</filter-name>
 8         <url-pattern>/*</url-pattern>
 9     </filter-mapping>
10 
12     <!-- 上下文参数配置 -->
13     <context-param>
14         <param-name>contextConfigLocation</param-name>
15         <param-value>classpath:applicationContext.xml</param-value>
16     </context-param>
17     
19     <!-- 设置spring监听器 -->
20     <listener>
21         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
22     </listener>

 

applicationContext.xml配置文件内容: 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xmlns:aop="http://www.springframework.org/schema/aop"
 5     xmlns:tx="http://www.springframework.org/schema/tx"
 6     xsi:schemaLocation="
 7         http://www.springframework.org/schema/beans
 8         http://www.springframework.org/schema/beans/spring-beans.xsd
 9         http://www.springframework.org/schema/aop
10         http://www.springframework.org/schema/aop/spring-aop.xsd
11         http://www.springframework.org/schema/tx
12         http://www.springframework.org/schema/tx/spring-tx.xsd">
13     <!-- 包含其他的配置文件 -->
14     <!-- <import resource="inventory.xml"/> -->
15 
16     <!-- 事务管理 -->
17     <bean id="myTxManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
18         <property name="sessionFactory" ref="mySessionFactory"/>
19     </bean>
20     <!-- 设置切入点,以及要使用的事务管理实例 -->
21     <aop:config>
22         <aop:pointcut id="productServiceMethods"  expression="execution(* com.ssh.service..*.*(..))"/>
23         <aop:advisor advice-ref="txAdvice" pointcut-ref="productServiceMethods"/>
24     </aop:config>
25     <tx:advice id="txAdvice" transaction-manager="myTxManager">
26         <tx:attributes>
27             <tx:method name="add*" propagation="REQUIRED"/>
28             <tx:method name="del*" propagation="REQUIRED"/>
29             <tx:method name="upd*" propagation="REQUIRED"/>
30             <tx:method name="get*" propagation="REQUIRED"/>
31         </tx:attributes>
32     </tx:advice>
33     <!-- dbcp连接池配置 -->
34     <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
35         <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
36         <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=inventory1"/>
37         <property name="username" value="sa"/>
38         <property name="password" value="123456"/>
39     </bean>
40     <!-- hibernate相关参数配置:session工厂,映射文件等 -->
41     <bean id="mySessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
42         <property name="dataSource" ref="myDataSource"/>
43         <!-- 采用通配的方式配置实体类的hbm文件位置 -->
44         <property name="mappingLocations" value="classpath:com/ssh/entity/*.hbm.xml" />
45         <!-- 
46         <property name="mappingLocations">
47             <list>
48                 <value>classpath:com/ssh/entity1/*.hbm.xml</value>
49                 <value>classpath:com/ssh/entity2/*.hbm.xml</value>
50                 <value>classpath:com/dssh/entity3/*.hbm.xml</value>
51             </list>
52         </property> 
53         -->
54         <property name="hibernateProperties">
55             <props>
56                 <prop key="hibernate.dialect">org.hibernate.dialect.SQLServer2005Dialect</prop>
57                 <prop key="hibernate.show_sql">false</prop>
58                 <prop key="hibernate.format_sql">true</prop>
59             </props>
60         </property>
61     </bean>
62 </beans>

 

struts.xml文件配置:

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE struts PUBLIC
 3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
 4     "http://struts.apache.org/dtds/struts-2.3.dtd">
 5 
 6 <struts>
 7     <!-- 开启DMI动态调用 -->
 8     <constant name="struts.enable.DynamicMethodInvocation" value="true" />
 9     <constant name="struts.devMode" value="true" />
10     
11     <!-- 将工厂交给spring进行管理 -->
12     <constant name="struts.objectFactory" value="spring"/>
13     
14     <package name="default" namespace="/" extends="struts-default">
15         
16     </package>
17 </struts>

 

posted @ 2015-08-12 22:11  理舞  阅读(205)  评论(0编辑  收藏  举报