SSH的简单应用说明

Action层:

public class LoginAction {
	private ISysUserBiz sysUserBiz;

	private SysUser sysUser;

	public String doLogin() {
		System.out.println("进入doLogin()方法");
		sysUser = sysUserBiz.findUser(sysUser.getUsrName(), sysUser
				.getUsrPassword());
		if (sysUser == null) {
			return "login-failure";
		}
		HttpSession session = ServletActionContext.getRequest().getSession();
		session.setAttribute("userSession", sysUser);
		return "login-success";
	}
}

 Biz层:

public class SysUserBizImpl implements ISysUserBiz{

	private ISysUserDao sysUserDao;

	public SysUser findById(long id) {
		return sysUserDao.findById(id);
	}
	
	public List<SysUser> findUsers(long id){
		return sysUserDao.findUsers(id);
	}
	
	public SysUser findUser(String usrName, String usrPassword){
		return sysUserDao.findUser(usrName, usrPassword);
	}

	/****************get*******set**********************/
	
	public ISysUserDao getSysUserDao() {
		return sysUserDao;
	}

	public void setSysUserDao(ISysUserDao sysUserDao) {
		this.sysUserDao = sysUserDao;
	}
}

 Dao层:

public class SysUserDaoImpl extends HibernateDaoSupport implements ISysUserDao {

	public SysUser findById(long id) {
		return (SysUser) getHibernateTemplate().get(SysUser.class, id);
	}

	public List<SysUser> findUsers(long id) {
		String hql = "from SysUser where usrFlag=" + id;
		return getHibernateTemplate().find(hql);
	}

	public SysUser findUser(String usrName, String usrPassword) {
		String hql = "from SysUser where usrName=? and usrPassword=?";
		List<SysUser> users = getSession().createQuery(hql).setString(0,
				usrName).setString(1, usrPassword).list();
		if(users != null && users.size() >= 1){
			return users.get(0);
		}
		return null;
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
	"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
	<package name="sal" namespace="/html/~sale" extends="struts-default">
			<action name="*-*" class="{1}Action" method="{2}">
				<result name="success">{1}-{2}.jsp</result>
				<result name="del-success">SaleChance-findAll.jsp</result>
				<result name="save-success">SaleChance-findAll.jsp</result>
				<result name="edit-success">SaleChance-findAll.jsp</result>
				<result name="dispatch">dispatch.jsp</result>
				<result name="do-edit">edit.jsp</result>
				<result name="dev-success">dev_plan.jsp</result>
				<result name="add-listplan">SalePlan-findAll.jsp</result>
				<result name="dev-execute">dev_execute.jsp</result>
				<result name="dev_detail">dev_detail.jsp</result>
			</action>
	</package>
	
	<package name="customer" namespace="/html/~cust/cust" extends="struts-default">
		<!-- 让struts到spring中找action对象 -->
		<action name="*-*" class="{1}Action" method="{2}">
			<result name="success">{1}-{2}.jsp</result>
			<result name="success-toList" type="redirectAction">customer-findAll</result>
			<result name="success-toLinkman" type="redirectAction">customer-linkman</result>
			<result name="success-toActivity" type="redirectAction">customer-activities</result>
		</action>
	</package>
	<package name="lost" namespace="/html/~cust/lost" extends="struts-default">
		<!-- 让struts到spring中找action对象 -->
		<action name="*-*" class="{1}Action" method="{2}">
			<result name="success">{1}-{2}.jsp</result>
			<result name="success-toList" type="redirectAction">lost-findAll</result>
		</action>
	</package>
	
	<package name="service" namespace="/html/~cust/service" extends="struts-default">
		<!-- 让struts到spring中找action对象 -->
		<action name="*-*" class="{1}Action" method="{2}">
			<result name="success">{1}-{2}.jsp</result>
			<result name="add-success" type="redirectAction">service-add</result>
			<result name="dispatch-success" type="redirectAction">service-dispatch</result>
			<result name="deal-success" type="redirectAction">service-deal</result>
			<result name="feedback-success" type="redirectAction">service-feedback</result>
			<result name="delete-success" type="redirectAction">service-dispatch</result>
		</action>
	</package>
	
	<package name="login" namespace="/" extends="struts-default">
		<action name="*-*" class="{1}Action" method="{2}">
			<result name="login-success" type="redirectAction">html/index.html</result>
			<result name="login-failure" type="redirectAction">html/error.html</result>
		</action>
	</package>
</struts>
 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
	<session-factory>
		<property name="connection.driver_class">
			com.microsoft.sqlserver.jdbc.SQLServerDriver
		</property>
		<property name="connection.url">
			jdbc:sqlserver://localhost:1433;databasename=jb_crm_team0
		</property>
		<property name="connection.username">sa</property>
		<property name="connection.password">123</property>
		<property name="dialect">
			org.hibernate.dialect.SQLServerDialect
		</property>
		<property name="show_sql">true</property>
		<property name="hbm2ddl.auto">update</property>

		<mapping
			resource="com/wepull/crm/domain/CstActivity.hbm.xml" />
		<mapping
			resource="com/wepull/crm/domain/CstCustomer.hbm.xml" />
		<mapping
			resource="com/wepull/crm/domain/CstLinkman.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/CstLost.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/Orders.hbm.xml" />
		<mapping
			resource="com/wepull/crm/domain/OrdersLine.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/Product.hbm.xml" />
		<mapping
			resource="com/wepull/crm/domain/CstService.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/BasDict.hbm.xml" />
		<mapping
			resource="com/wepull/crm/domain/SalChance.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/SalPlan.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/Storage.hbm.xml" />
			<mapping resource="com/wepull/crm/domain/SysRight.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/SysRole.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/SysRoleRight.hbm.xml" />
		<mapping resource="com/wepull/crm/domain/SysUser.hbm.xml" />
	</session-factory>
</hibernate-configuration>

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="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/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

	<!-- 根据hibernate配置文档产生sessionFactory -->
	<bean id="sessionFactory" 
  	  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  		<property name="configLocation">
  			<value>classpath:hibernate.cfg.xml</value> 
  		</property>
    </bean>
    
    <!-- 配置事务管理器 -->
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory">
			<ref bean="sessionFactory"/>
		</property>
	</bean>
	
    <!-- 配置事务的传播特性 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<tx:method name="add*" propagation="REQUIRED"/>
			<tx:method name="save*" propagation="REQUIRED"/>
			<tx:method name="del*" propagation="REQUIRED"/>
			<tx:method name="edit*" propagation="REQUIRED"/>
			<tx:method name="update*" propagation="REQUIRED"/>
			<tx:method name="*" read-only="true"/>
		</tx:attributes>
	</tx:advice>

	<!-- 配置哪些类的哪些方法进行事务管理	 -->
	<aop:config>
		<aop:pointcut id="allManagerMethod" expression="execution(* com.wepull.crm.biz.*.*(..))"/>
		<aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
	</aop:config> 
	
	<!-- ***********************first model******************** -->
      <!-- ***dao********************************************************* -->
      <bean id="salchancedao" class="com.wepull.sale.dao.SalChanceDaoImpl">
      		<property name="sessionFactory" ref="sessionFactory"></property>
      </bean>  
      <bean id="salplandao" class="com.wepull.sale.dao.SalPlanDaoImpl">
      		<property name="sessionFactory" ref="sessionFactory"></property>
      </bean>
       
      <!-- ***biz************************************************************ -->
       <bean id="salchancebiz" class="com.wepull.crm.biz.SalChanceBizImpl">
<property name="salchancedao" ref="salchancedao"></property>           		
       </bean>
       <bean id="salplanbiz" class="com.wepull.crm.biz.SalPlanBizImpl">
       		<property name="salplandao" ref="salplandao"></property>
       </bean>
       
       <!-- ***action********************************************************* -->
       <bean id="SaleChanceAction" class="com.wepull.sale.action.SalChanceAction">
       		<property name="salchancebiz" ref="salchancebiz"></property>
       </bean>
       <bean id="SalePlanAction" class="com.wepull.sale.action.SalPlanAction">
       		<property name="salplanbiz" ref="salplanbiz"  ></property>
       		<property name="salchancebiz" ref="salchancebiz"></property>
       </bean>
	<!-- ***********************first model******************** -->
	
	<!-- ***********************second model******************** -->
	<!-- dao层   start -->
	<bean id="customerDao" class="com.wepull.crm.customer.dao.CustomerDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="orderDao" class="com.wepull.crm.customer.dao.OrderDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="lostDao" class="com.wepull.crm.customer.dao.LostDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- dao层   end -->
	
	<!-- biz层 start-->
	<bean id="customerBiz" class="com.wepull.crm.biz.CustomerBizImpl">
		<property name="customerDao" ref="customerDao"></property>
	</bean>
	<bean id="orderBiz" class="com.wepull.crm.biz.OrderBizImpl">
		<property name="orderDao" ref="orderDao"></property>
	</bean>
	<bean id="lostBiz" class="com.wepull.crm.biz.LostBizImpl">
		<property name="lostDao" ref="lostDao"></property>
	</bean>
	<!-- biz层 end-->
	
	<!-- action层 start-->
	<bean id="customerAction" class="com.wepull.crm.customer.action.CustomerAction">
		<property name="customerBiz" ref="customerBiz"></property>
	</bean>
	<bean id="orderAction" class="com.wepull.crm.customer.action.OrderAction">
		<property name="orderBiz" ref="orderBiz"></property>
		<property name="customerBiz" ref="customerBiz"></property>
	</bean>
	<bean id="lostAction" class="com.wepull.crm.customer.action.LostAction">
		<property name="lostBiz" ref="lostBiz"></property>
	</bean>
	<!-- action层 end-->
	<!-- ***********************second model******************** -->
	
	<!-- ***********************third model******************** -->
	<!-- dao层   start -->
	<bean id="serviceDao" class="com.wepull.crm.dao.CstServiceDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="sysUserDao" class="com.wepull.crm.dao.SysUserDaoImpl">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<!-- dao层   end -->


	<!-- biz层 start-->
	<bean id="serviceBiz" class="com.wepull.crm.biz.CstServiceBizImpl">
		<property name="serviceDao" ref="serviceDao"></property>
	</bean>
	<bean id="sysUserBiz" class="com.wepull.crm.biz.SysUserBizImpl">
		<property name="sysUserDao" ref="sysUserDao"></property>
	</bean>
	<!-- biz层 end-->


	<!-- action层 start-->
	<bean id="serviceAction" class="com.wepull.crm.action.ServiceAction">
		<property name="serviceBiz" ref="serviceBiz"></property>
		<property name="sysUserBiz" ref="sysUserBiz"></property>
	</bean>
	<bean id="sysUserAction" class="com.wepull.crm.action.SysUserAction">
		<property name="sysUserBiz" ref="sysUserBiz"></property>
	</bean>
	<bean id="loginAction" class="com.wepull.crm.action.LoginAction">
		<property name="sysUserBiz" ref="sysUserBiz"></property>
	</bean>
	<!-- action层 end-->
	<!-- ***********************third model******************** -->
</beans>
 

猜你喜欢

转载自my-imagination.iteye.com/blog/1722541