帶你逐步深入瞭解SSH框架——struts2入門
. |
今天內容
1 struts2概述 (1)應用在web層 2 struts2入門案例 3 struts2底層執行過程 4 struts2相關配置 (1)struts.xml配置 - package、action、result標籤 (2)常量配置 (3)分模組開發 5 struts2的action建立 (1)有三種 (2)一般使用繼承類 ActionSupport實現 6 struts2的action方法訪問 (1)使用action標籤method屬性,method屬性值寫執行的方法名稱 (2)使用萬用字元方式,使用*匹配任意內容,method裡面寫*值,寫法固定
{1} |
Struts2概述
1 struts2框架應用javaee三層結構中web層框架 2 struts2框架在struts1和webwork基礎之上發展全新的框架 3 struts2解決問題:
4 struts2版本
5 web層常見框架 (1)struts2 (2)springMVC |
Struts2框架入門
第一步匯入jar包 (1)在lib中有jar包,不能把這些jar都匯入到專案中 (2)到apps目錄裡面,找到示例程式,從示例程式複製jar包
第二步建立action
第三步配置action類訪問路徑 (1)建立struts2核心配置檔案 - 核心配置檔名稱和位置是固定的 - 位置必須在src下面,名稱 struts.xml (2)引入dtd約束
(3)action配置
訪問路徑:
第四步配置struts2過濾器
|
Struts2執行過程
畫圖分析過程
|
檢視原始碼
1 過濾器在伺服器啟動時候建立,建立過濾器時候執行init方法 (1)在init方法中主要載入配置檔案 - 包含自己建立的配置檔案和struts2自帶配置檔案 ** struts.xml ** web.xml |
Struts2的核心配置檔案
1 名稱和位置固定的 2 在配置檔案中主要三個標籤 package、action、result,標籤裡面的屬性 |
標籤package
1 類似於程式碼包,區別不同的action,要配置action,必須首先寫package標籤,在package裡面才能配置action 2 package標籤屬性 (1)name屬性 - name屬性值根功能本身沒有關係的, - 在一個配置檔案中可以寫多個package標籤,name屬性值不能相同的 (2)extends屬性 - 屬性值固定的,struts-default - 寫了這個屬性之後,在package裡面配置的類具有action功能 (3)namespace屬性 - namespace屬性值和action標籤裡面的name屬性值構成訪問路徑 |
標籤action
1 action標籤配置action訪問路徑 2 action標籤屬性 (1)name屬性 - namespace屬性值和action標籤裡面的name屬性值構成訪問路徑 - 在package標籤裡面寫多個action標籤,但是action的name屬性值不能相同的 (2)class屬性 - action全路徑 (3)method屬性 - 比如在action裡面預設執行的方法execute方法,但是在action裡面寫其他的方法 - 讓action裡面多個方法執行,使用method進行配置 |
標籤result
1 根據action的方法返回值,配置到不同的路徑裡面 2 result標籤屬性 (1)name屬性 - 和方法返回值一樣
(2)type屬性 - 配置如何到路徑中(轉發或者重定向) - type屬性預設值做轉發操作 |
Struts2常量配置
1 struts2框架,幫我們實現一部分功能,struts2裡面有常量,在常量裡面封裝一部分功能 2 struts2預設的常量位置(記住)
3 修改struts2預設常量值 (1)常用的方式 - 在struts.xml中進行配置 (2)還有兩種方式(瞭解) - 在src下面建立 struts.properties,進行修改 - 在web.xml進行配置 4 介紹最常用常量(明天演示) (1)表單提交資料到action裡面,在action可以獲取表單提交資料, (2)表單提交資料有中文,有亂碼問題,解決: - post提交直接設定編碼 - get提交做編碼轉換 (3)如果在action獲取表單通過post方式提交中文,中文亂碼問題幫解決了,不需要自己處理問題 |
分模組開發
1 單獨寫配置檔案,把配置檔案引入到核心配置檔案中
|
Action編寫方式
1 action編寫有三種方式 第一種建立普通類,這個不繼承任何類,不實現任何介面
第二種建立類,實現介面 Action
第三種建立類,繼承類 ActionSupport(一般使用) |
訪問action的方法(重點)
1 有三種方式實現 第一種使用action標籤的method屬性,在這個屬性裡面寫執行的action的方法 第二種使用萬用字元方式實現 第三種動態訪問實現(不用) 2 演示錯誤 (1)如果action方法有返回值,在配置檔案中沒有配置,出現錯誤
(2)在action裡面的方法有返回值,如果有返回值時候型別必須是String (3)action裡面的方法可以沒有返回值,沒有返回值時候,在result標籤不需要配置 - 把方法寫成void - 讓返回值,返回 ”none” |
使用action標籤method屬性
1 建立action,建立多個方法
2 使用method配置
缺陷:action每個方法都需要配置,如果action裡面有多個方法,配置很多的action |
使用萬用字元實現(重點)
1 在action標籤裡面name屬性,name屬性值裡面寫符號 * 星號 (1)*理解:表示匹配任意內容 - 比如訪問hello,*可以匹配到 - 比如訪問add,*可以匹配到 |
案例-客戶列表
|