Struts2_day01
一、內容大綱
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版本
Line"/>
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配置
訪問路徑:
ofollow,noindex" target="_blank">http://127.0.0.1/struts2_day01/hello.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,* 可以匹配到
案例-客戶列表
參考資料:
《黑馬程式設計師》