近日为了回顾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文件内容: private PersonDAO personDao; 方式一 byType方式注入
//private PersonDAO dao; 方式二 byName方式注入 最后web.xml内容: ***************************************************************************************************************************************************************** 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为各实体类实现DAOperson.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>