SSH框架整合的流程
以一個插入人員的操作來說明SSH的工作流程
在前臺的addEmployee.jsp中我們要先引入struts2的標籤庫。
<%@ taglib uri="/struts-tags" prefix="s" %>
建立前臺程式碼,表單from標籤的action屬性中表名這個form是要提交給employee這個action並呼叫save()方法處理。
<s:form id="saveForm" action="employee_save" method="post" namespace="/" theme="simple">
Struts2攔截使用者請求,並匹配配置檔案中定義的action。
<action name="employee_*" class="employeeAction" method="{1}">
通過Spring配置檔案中配置的Action找到對應的實體類。
<bean id="employeeAction" class="cn.th.ssh.action.EmployeeAction" scope="prototype">
<property name="employeeService" ref="employeeService"></property>
<property name="departmentService" ref="departmentService"></property>
</bean>
呼叫EmployeeAction.java中save方法
private EmployeeService employeeService;
//儲存員工方法
public String save(){
employeeService.save(employee);
return "saveSuccess";
}
Spring配置檔案中配置的業務層的實現類
<!-- 配置業務層的類 -->
<bean id="employeeService" class="cn.th.ssh.service.impl.EmployeeServiceImp">
<property name="employeeDao" ref="employeeDao"></property>
</bean>
呼叫業務邏輯元件類EmployeeService中的save方法來完成插入操作。
public void save(Employee employee) {
// TODO Auto-generated method stub
employeeDao.save(employee);
}
呼叫DAO層EmployeeDao中的save方法來完成插入操作。
public void save(Employee employee) {
this.getHibernateTemplate().save(employee);
}
通過業務層返回的邏輯檢視名稱在struts2配置檔案中的物理檢視和邏輯檢視之間的對映關係跳轉到響應的頁面。
<result name="saveSuccess" type="redirectAction">employee_findAll.action</result>
從Action-->Service-->Dao-->db逐層向下傳遞
至此,一個完整的請求、處理請求、返回處理結果的流程結束。