struts2入門學習知識點 待完善

2021-08-06 05:56:25 字數 4130 閱讀 9356

答:框架是可以重複使用的一些或一整套**,通常與具體業務無關,也可以認為是軟體的半成品。

框架的好處是:可以提高開發效率,簡化開發過程

mvc全名是model view controller,是模型(model)-檢視(view)-控制器(controller)的縮寫,是一種軟體設計模式。

優點是:**結構更加清晰,為了更好維護和擴充套件:便於解藕

模型:負責資料處理。

檢視:負責頁面資料的顯示。

控制:負責控制排程不同的邏輯**。

struts2 是乙個表現層框架 ,用來簡化表現層**開發的。

由傳統struts1和webwork兩個經典框架發展而來。struts2是在 struts 1和webwork的技術基礎上進行了合併的全新的struts 2框架,struts 2以webwork為核心(兩個框架均源自xwork命令模式框架),但開發流程類似於struts1(讓開發人員平滑過度)。

5、如何配置struts.xml配置檔案提示

1.第一步

2.第二步

3.第三步(struts-2.3.dtd檔案)

6、 struts2**執行流程

執行流程:

2.環境搭建完成後,新建乙個action類(三種方式建立。見第11)

3.配置struts.xml檔案

7、 struts2有哪些配置檔案,載入順序

核心配置檔案的載入順序(6種兩大類):

第一類:框架內建的配置檔案:

1.struts2框架內建的常量配置檔案:default.properties,位於struts-core.jar包的org.apache.struts2包下。作用:定義了一些常量(鍵值對)。一些功能開關。

2,struts2框架內建的核心配置檔案:struts-default.xml,位於struts-core.jar包下。作用:定義了bean元素、結果集型別、***等。注意預設包:

在struts2的框架體系中,package主要是用來實現一些配置的復用,在使用時編寫子包來繼承struts-default。

3,struts2框架外掛程式配置檔案:struts-plugin.xml,位於每個外掛程式包的根目錄。作用:用於擴充套件外掛程式的一些配置。

第二大類:使用者自定義的配置檔案:

4使用者自定義核心檔案配置:struts.xml,位於使用者工程的src下。作用:用於使用者開發的相關配置,如配置package、action等。

5,使用者自定義常量配置檔案:struts.properties

,一般位於使用者工程的src下。只能用於配置一些常量(覆蓋內建的常量)6,

web.xml中配置struts2常量(了解)default.properties 在132行

8、 action相關配置,訪問action路徑(package namespace + actionname)

struts2 提供前端控制器,採用請求分發思想,將不同url請求,分配給不同action進行處理,需要在struts.xml 配置請求路徑和action 對映關係。

package可以用來管理action,實現包內配置復用 (通過包繼承實現)

struts-default.xml 定義乙個package

默 認包內定義大量結果集型別和***,使用者開發

package

通常繼承

struts-default

包。其中的屬性的作用:

name 在struts容器中具有唯一性(在開發中可以用模組名作為包名)

namespace 命名空間用來標識乙個路徑,來區分重複性

例如:如果兩個包存在同名action ,需要命名空間區分 action訪問路徑

action的配置中有些屬性如果不配置,則使用預設的值。如:

1.若不指定命名空間namespace,預設為「/」

2.若不指定結果集result的名字預設為「success」  success

3.若沒有class屬性,執行預設處理類,該預設處理類在struts-default.xml 檔案中有定義:

通過原始碼可以看到,缺省會執行預設處理類actionsupport 類 execute方法,返回 success邏輯檢視,找到index.jsp

9、預設action和 action 預設處理類

預設action是說當你的訪問路徑在strus.xml中沒有找到相應的action時,系統會預設執行這個action,(相當 於web.xml中的errpage的配置。)而action 預設處理類是說:在寫乙個action的時候,只寫了這個action的名字(name),而沒有寫處理這個action的類,此時,系統會有乙個預設處理的.actionsupport類(在com.opensymphony.xwork2包下),這個actionsupport就叫做action預設處理類。

如上圖:第二個action就沒有寫class。

10、常用常量配置 devmode(開發者模式)、action副檔名配置、動態方法呼叫開啟

注意(嚴格按照按dtd校驗規則來配置struts.xml檔案(特別是先後順序的問題))

1. 編寫自定義action類, 實現action介面.action 介面提供 execute 處理業務邏輯方法(命令模式—一種設 計模式,目的是將「行為請求者」與「行為實現者」解耦)

2.編寫自定義action繼承 actionsupport類 (相當於間接實現action介面),使用的時候需要手動覆蓋execute()。

3.pojo寫法(什麼都不用實現和繼承)

提示:struts2使用反射的機制來進行呼叫執行 

【注意】

關於execute方法的編寫要求,必須滿足:

l  public修飾符

l  string返回值

l  無引數

【提示】:

一般情況下都使用繼承actionsupport類的方法。

12、 action的方法呼叫(method屬性使用,萬用字元使用,動態方法呼叫)

1.通過設定method屬性,執行action不同業務方法

特點:得為每個方法配置乙個action,若遇見乙個action類裡面有很多方法,則配置檔案顯非常臃腫。

2.使用萬用字元來簡化路徑和action業務方法對映配置

3.動態方法呼叫

13、 action方法如何使用servlet api (間接和直接(servletactoncontext))

1.解耦合方式呼叫(間接呼叫)

struts2設計思想就是與servlet api 解耦合,編寫action **中可以不再直接依賴servlet的任何api,簡化開發,也便於測試(方法簡單無參)。

那如果我們想呼叫這些api呢?比如向session中放入登入使用者、向request中放入乙個值給頁面響應用。

struts2為我們提供了乙個api,可間接呼叫servlet api,這個api叫做:ctioncontex類(action 上下文)。(可以理解該類就是乙個工具類)

【回顧了解】上下文: 與容器相關,獲取容器相關物件、資訊 ---- 類似於乙個工具類(如servletcontext,可以拿到一些關於web應用服務範圍的一些物件資訊,pagecontext可以拿到關於jsp頁面的一些物件資訊)。

2 servlet api直接呼叫

方式一: 介面注入方式操作servlet api。(不常用)

用法:想用哪個介面就去實現哪個介面(操作性太差,**臃腫)

方式二: 通過servletactioncontext類的靜態方法,直接獲取servlet api

actioncontext的乙個子類

14、結果集型別(dispatcher、 redirect、 redirectaction)

dispatcher相當於請求**,redirect 相當於重定向。redirectaction相當於重定向到另外乙個action中去

15struts2約定零配置開發註解開發

struts2知識點備忘

struts2標籤寫的form表單 1.只有fielderror級別錯誤才會自動顯示出來,不再需要使用類似這樣的標籤 2.驗證出錯的話,如果跳到form表單頁面,那麼會自動保留上次填入的表單資訊 3.fielderror級別錯誤資訊都會在每個filed的上面顯示 4.actionerror級別的錯誤...

struts2小知識點

color red 1 預設的命名空間 namespace 根命名空間 namespace color 如果未指定命名空間,則命名空間預設為 namespace 預設命名空間裡的action可以處理任何命名空間下的action請求。例如,如果存在url為 barspace bar.action的請求...

細小知識點之Struts2

1.struts2基本簡要流程如下 1 客戶端瀏覽器發出http請求。2 根據web.xml配置,該請求被filterdispatcher接收。3 根據struts.xml配置,找到需要呼叫的action類和方法,並通過ioc方式,將值注入給aciton。4 action呼叫業務邏輯元件處理業務邏輯...