1. 程式人生 > >第01講 Struts2概述

第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>

來源為呂老師的課堂筆記