2.scope=“prototype”是爲每個請求提供一個action實例(與struts2的機制是一樣的)。
scope=“session”是爲每個會話提供一個action實例。
3.通常使用prototype,即讓spring容器爲每個請求提供一個action實例,好處是服務器端不用維護用戶狀態信息,否則使用session服務器端必須存儲狀態信息,用戶多時佔用服務器端內存過多。使用prototype時,必須自己在客戶端維護用戶的狀態,每次訪問服務端時將相應狀態信息提交給服務器。
例如scope=“prototype”時,頁面一般< input name="id" type="hidden" value="${id}"/>用來存儲用戶的id信息,訪問action時提交到server端供action中函數使用。而使用scope=“session”時,頁面不必使用hidden的對象隱藏id信息,只要服務端獲取過用戶的id,action中的id屬性即會保存這個信息。