近日为了回顾SSH知识,特意自己全手动试着搭建搭建了一个SSH项目(已有两个月没动手写代码了),竟然花费了两天时间,甚是汗颜,羞愧难当,以此文记录以便以后回顾.
回顾全过程,无非是导包,写配置文件,修改配置文件,写测试类的循环操作。 大致步骤如下:
首先自然是创建一个web项目,名称SSH
1.添加Spring支持:
1.1导包:spring.jar; commons-loggin.jar;
1.2添加配置文件applicationContext.xml
1.3修改web.xml:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
/** 测试Spring是否添加成功 : 创建一个DTO(/类),在applicationContext.xml中对类中的属性直接赋值 再写个包含main方法的测试 通过XmlBeanFactory读取applicationContext.xml。
*/
2.添加Struct2支持
2.1导包:struct2-core.jar; xwork-core.jar; freemarker.jar; ognl.jar; struct2-spring-plugin.jar;
2.2 修改web.xml:
<filter><filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.3添加配置文件:struts.xml:
<package name="a" extends="struts-default">
<action name="ActionName1" class="对应Action类的路径">
<result name="success">/success.jsp</result>
</action>
</package>
2.4修改配置文件applicationContext.xml ( 用依赖注入的方式产生action实例:)
<bean id="ActionName1" class="对应Action类的路径/ 通过依赖注入生成的对象的名字"><property name="" value=""></property>
</bean>
************************************ 此处的2.3和2.4两处操作有两种方式 代码如下:********************************************************
applicationContext.xml文件内容: struts.xml文件内容:
*****注意:
对于personAction中的变量 用这两种方式的差异
private PersonDAO personDao; 方式一 byType方式注入
//private PersonDAO dao;
方式二 byName方式注入
最后web.xml内容:
***************************************************************************************************************************************************************** 3.添加Hibernate支持: 3.1导包(至少12个): hibernate3.jar; dom4j.jar; commons-collections.jar; slf4j-api.jar slf4j-logej.jar; log4j.jar; antlr.jar;
hibernate-annotations.jar; hibernate-commons-annotations.jar; jta.jar; ejb3-persistence.jar; javassist.jar;
3.2添加核心配置文件
hibernate.cfg.xml;
3.3在Spring里面配置hibernate <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="configLocation" value="classpath:hibernate.cfg.xml"></property>
</bean>
3.4写通用的DAO接口
3.5添加对应表的实体类和映射文件 DTO , xxx.hbm.xml;
3.6将实体类的映射文件添加到hibernate的核心配置文件中: 例:<mapping resource="DTO/Person.hbm.xml"/>
3.7为各实体类实现DAO
person.hbm.xml内容:
<hibernate-mapping>
<class name="DTO.Person" table="Person">
<id name="id" column="id" type="java.lang.Integer">
</id>
<property name="name" column="name" type="java.lang.String"></property>
<property name="age" column="age" type="java.lang.Integer"></property>
</class>
</hibernate-mapping>Hibernamte.cfg.xml内容<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="connection.url">jdbc:sqlserver://localhost:1433;databaseName=Test</property>
<property name="connection.username">sa</property>
<property name="connection.password">911726</property>
//数据库方言 由此hibernate知道使用的是哪种数据库
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<mapping resource="DTO/Person.hbm.xml"/>
</session-factory>
</hibernate-configuration>