第01講 Struts2概述
1.Struts2的概念
Struts2是基於JavaEE的VC層框架。
2.Struts2的功能
1.View層:
(1)收集使用者的輸入資料:Form
(2)顯示業務資料:列表方式,詳細方式
2.Controller層(*)
(1)取得View層提交的資料
(2)驗證資料合法性
(3)型別轉換
(4)組裝Model物件
(5)呼叫業務服務層物件的業務處理方法
(6) 儲存給View層的資料
(7) 跳轉到指定的View物件(轉發,重定向)
3.Struts2組成(*)
1.核心控制器(過濾器)
接收所有的請求,解析請求,進行分配。
2.業務控制器(Action) -開發者編寫
完成具體的控制器職責。
3.攔截器(Interceptor)
4.集中儲存機制(ActionContext):儲存struts2的處理的資訊
(1)action物件
(2)請求資料
(3)Session資料
(4)Application資料
5.結果物件(Result)
負責Action到View的跳轉。
6.OGNL語言解析器
解析OGNL語言,訪問中心儲存的資料。
7.配置檔案:
(1)XML方式
(2)properties檔案方式
(3)程式設計方式
4.Struts2應用的開發過程
1.引入Struts2的Jar類庫檔案
struts-min-lib
2.配置核心控制器
(1) web.xml
(2)配置語法:
<filter>
<filter-name>action2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter -name>action2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3.建立Struts2的配置檔案:
(1)檔名:struts.xml
(2)位置:classpath根目錄 (src)
(3)檔案結構:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
</struts>
4.編寫JSP頁面
5.編寫Struts2的控制器Action
(註釋:Struts2的Action是普通的POJO類即可)
POJO-Plain Old Java Object
(1)建立Class
(2)定義接收資料屬性變數(物件型別,簡單型別)
(3)編寫Action方法:
public class DepartmentController {
private DepartmentModel dm=null;
public DepartmentModel getDm() {
return dm;
}
public void setDm(DepartmentModel dm) {
this.dm = dm;
}
//增加部門的處理方法
public String add() throws Exception
{
ServiceFactory.createDepartmentService().add(dm);
return "success";
}
}
6.配置Action
(1)配置的檔案:struts.xml
(2)配置語法:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<package name="departmentadmin"
namespace="/department"
extends="struts-default" >
<action name="add"
class="com.city.oa.controller.DepartmentController"
method="add" >
<result name="success" >/department/main.jsp</result>
</action>
<action name="modify"
class="com.city.oa.controller.DepartmentController"
method="modify" >
<result name="success" >/department/main.jsp</result>
</action>
<action name="delete"
class="com.city.oa.controller.DepartmentController"
method="delete" >
<result name="success" >/department/main.jsp</result>
</action>
</package>
</struts>
來源為呂老師的課堂筆記