struts2 學習筆記

2021-06-11 23:04:20 字數 2590 閱讀 6064

在struts.xml中配置的action,訪問路徑是http://ip:port/工程名/.../action名

package節點的名稱對url沒有影響,只有namespace在存在同名action的情況下會有影響。因為struts尋找action的方式是首先按照action的url中,action名稱之前的當做命名空間的名稱來查詢,如果沒有就在預設命名空間中查詢。所以,如果不存在相同的action時,隨時都可以只寫action的名稱進行訪問!

在web.xml中配置

struts2

org.apache.struts2.dispatcher.filterdispatcher

config

resources/config/struts.xml//當前相對位置是

classes

程式 = 資料結構(構成元素)+演算法(執行機理)

struts-default.xml 和 default.properties 是框架級的配置檔案。

struts.xml 和 struts.properties 是應用級別的配置。它們的結構與框架級別的配置檔案完全相同,但是其中定義的所有內容將覆蓋框架級別的配置定義。

struts 框架中的xml檔案的配置元素定義是properties檔案的配置元素的超集。==凡是能夠在properties中定義的配置元素都可以在xml中找到對應的配置方式(constant)來代替,反之則不成立。

struts2 中xml配置檔案中bean(與spring中一樣,管理bean)節點和constant節點用於指定執行時的引數,被稱為容器配置元素。

package節點被稱為 事件對映關係。

image/bmp,image/png,image/gif,image/jpeg 2

upload/sys/logo

upload_logo.jsp

upload_logo.jsp

upload_logo.jsp

配置說明:

result外部的param可以對action中的屬性賦值的,這是ioc注入。--logoaction中的root_path 將被注入

result內部的param一般用不到,是另外幾種跳轉方式時傳遞引數用的。

valuestack vs = (valuestack)request.getattribute("struts.valuestack");

string ma = vs.findstring("aa");

值棧中有action,通過除錯可以看到

%>

在log4j的配置檔案中新增:

log4j.logger.org.apache.struts2=debug

log4j.logger.com.opensymphony.xwork2=debug

與synchronized不同:synchronized是不同執行緒之間的資料共享,threadlocal是同一執行緒之間的不同時刻的資料共享(web中不同層次,表示層/業務邏輯層/持久層)

與物件傳遞不同:雖然通過自定義物件也可以達到同樣目的,但是需建立物件

步驟:1、建立乙個類,並在其中封裝乙個靜態的threadlocal變數,使其成為乙個資料共享環境。

2、在類中實現訪問靜態threadlocal變數的靜態方法;

public class counter 

}; public static integer get()

public static void set(integer value)

// 自定義封裝業務邏輯

public static integer getnextcount()

}

裝飾模式可以通過繼承來實現,不過比繼承有更靈活的應用場景:、

1、適合對預設目標實現中的多個介面進行排列組合排程

2、適合對預設目標實現進行選擇性擴充套件

3、適合預設目標實現未知或者不易擴充套件的情況

適用於構建物件的構造過程十分複雜、構建物件的初始化對於其內部的物件有著強烈的邏輯依賴。

擊鼓傳花

struts當接收到乙個請求之後就會建立actioncontext、valuestack、action,並將action放入valuestack中

ognl:  struts2中用來取值,要配合struts標籤使用

el: jsp中使用的,可以讀取struts中valuestack(值棧)中的值

在jsp中可以通過 valuestack vs = (valuestack)request.getattribute("struts.valuestack"); 獲得,vs.findstring("    ")獲取值;

Struts2學習筆記

1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...

Struts2學習筆記

structs修改後自動更新 action執行的時候並不一定要執行execute方法 method add user add success.jsp user add success.jsp 可以在配置檔案中配置action的時候用method 來指定執行哪個方法 user useradd 新增使用...

struts2學習筆記

xml 配置大都是通過 複製 貼上 修改 得到。其中此處 永遠是 url pattern url pattern struts.xml 內 action name hello action 一般用小寫。xml 內寫 時內自動提示設定 原始檔路徑不能有中文。此處複製了乙份dtd檔案到d myeclii...