1. 程式人生 > >Struts2獲取Session的三種方式

Struts2獲取Session的三種方式

1、Map<String,Object> map =  ActionContext.getContext().getSession();

2、HttpSession session = ServletActionContext.getRequest().getSession();

3、讓Action實現SessionAware介面,並實現public void setSession(Map<String, Object> session) {} 方法,Struts2會在例項化Action後呼叫該方法,通過方法引數將Session物件注入進來。如果我們想獲取Session,我們可以定義成員變數,接收注入進來的Session物件。


三種方式的比較:

返回型別的對比:1,3獲取的Session型別是Map<String,Object>型別,2獲取的型別是HttpSession。

獲取方式對比:

1,2是我們主動獲取Session,3是採用注入的方式自動注入Session,這是被動的。

推薦使用3來建立Session,因為它更為靈活而且符合面向介面程式設計的思想。