SSH框架,实现的是基本的CRUD功能的一个部门管理系统。
具体步骤实现如下:
1) add Spring Capabilities 将applicationContext.xml文件放在src下。
2) add Hibernate Capabilities 将hibernate.cfg.xml文件不生成,而是配置指定在applicationContext.xml文件中。
3) add Struts Capabilities 将struts.xml文件放在src下。
4) add Librarities (SSH.jar)
5) 修改web.xml文件,配置Spring监听器,和上下文变量。并增加OpenSessionInViewFilter的设置。
6) 写入action类。
7) 配置struts.xml文件。
8)修改applicationContext.xml
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <!-- (1)由spring来负责创建 --> <constant name="struts.ObjectFactory" value="spring" /> <!-- (2)配置action class="myaction"指定spring配置的ID--> <package name="hang" namespace="/" extends="struts-default"> <action name="exe_*" class="myaction" method="exe_{1}"> <result name="success">index.jsp</result> <result name="input">add.jsp</result> <result name="find">update.jsp</result> <result name="yes" type="redirectAction">exe_all.action</result> </action> </package> </struts>
applicationContext.xml配置文件
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.Oracle9Dialect </prop> <prop key="hibernate.show_sql"> true </prop> <prop key="hibernate.format_sql"> true </prop> <prop key="hibernate.hbm2dll.auto"> update </prop> </props> </property> <property name="mappingResources"> <list> <value>com/hlx/entity/Emp.hbm.xml</value> <value>com/hlx/entity/Dept.hbm.xml</value></list> </property></bean> <!-- 程序员做的事情 --> <!-- dao sessionFactory --> <bean id="dao" class="com.hlx.dao.impl.DeptDaoImpl"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- biz --> <bean id="service" class="com.hlx.biz.impl.DeptBizImpl"> <property name="deptDao" ref="dao"/> </bean> <!-- action prototype每次创建调用一个新的实例 --> <bean id="myaction" class="com.hlx.action.DeptAction" scope="prototype"> <property name="biz" ref="service"/> </bean> <!-- spring容器做的事情 --> <!-- 事务管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- 切入点 --> <aop:config> <aop:pointcut expression="execution (* com.hlx.biz.impl.*.* (..))" id="mycut"/> <aop:advisor advice-ref="txAdvisor" pointcut-ref="mycut"/> </aop:config> <!-- AOP切面事务管理 --> <tx:advice id="txAdvisor" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="save*" propagation="REQUIRED"/> <tx:method name="update*" propagation="REQUIRED"/> <tx:method name="delete*" propagation="REQUIRED"/> <tx:method name="all*" propagation="SUPPORTS" read-only="true"/> <tx:method name="find*" propagation="SUPPORTS" read-only="true"/> </tx:attributes> </tx:advice>
显示界面如图:
dd
dd