答:框架是可以重複使用的一些或一整套**,通常與具體業務無關,也可以認為是軟體的半成品。
框架的好處是:可以提高開發效率,簡化開發過程
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中去
15、struts2約定零配置開發和註解開發
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呼叫業務邏輯元件處理業務邏輯...