STRUTS2為每個執行緒提供乙個ACTION例項

2021-07-14 21:24:42 字數 656 閱讀 5222

1.struts2為每個執行緒提供乙個action例項,多執行緒訪問時不會出現問題。當使用spring管理struts2的action例項物件時,scope必須配置為prototype或者session,若配置為singleton則多執行緒訪問時會出現問題,例如actionmessage,fielderror等資訊會累加,多使用者訪問時有的使用者訪問到的是另乙個使用者的資料。 

2.scope=「prototype」是為每個請求提供乙個action例項(與struts2的機制是一樣的)。 

scope=「session」是為每個會話提供乙個action例項。 

3.通常使用prototype,即讓spring容器為每個請求提供乙個action例項,好處是伺服器端不用維護使用者狀態資訊,否則使用session伺服器端必須儲存狀態資訊,使用者多時占用伺服器端記憶體過多。使用prototype時,必須自己在客戶端維護使用者的狀態,每次訪問服務端時將相應狀態資訊提交給伺服器。 

例如scope=「prototype」時,頁面一般< input name="id" type="hidden" value="$"/>用來儲存使用者的id資訊,訪問action時提交到server端供action中函式使用。而使用scope=「session」時,頁面不必使用hidden的物件隱藏id資訊,只要服務端獲取過使用者的id,action中的id屬性即會儲存這個資訊。

struts2為每個執行緒提供乙個action例項

1.struts2為每個執行緒提供乙個action例項,多執行緒訪問時不會出現問題。當使用spring管理struts2的action例項物件時,scope必須配置為prototype或者session,若配置為singleton則多執行緒訪問時會出現問題,例如actionmessage,field...

struts2為每個執行緒提供乙個action例項

1.struts2為每個執行緒提供乙個action例項,多執行緒訪問時不會出現問題。當使用spring管理struts2的action例項物件時,scope必須配置為prototype或者session,若配置為singleton則多執行緒訪問時會出現問題,例如actionmessage,field...

Struts2提供的校驗器

系統提供的校驗器如下 required 必填校驗器,要求field的值不能為null requiredstring 必填字串校驗器,要求field的值不能為null,並且長度大於0,預設情況下會對字串去前後空格 stringlength 字串長度校驗器,要求field的值必須在指定的範圍內,否則校驗...