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,因为它更为灵活而且符合面向接口编程的思想。
Struts2获取Session的三种方式
最新推荐文章于 2020-04-23 15:29:27 发布
本文对比了Struts2中通过ActionContext、ServletActionContext获取Session的三种方式,包括返回类型、获取方式及推荐使用场景,强调了注入方式的灵活性和面向接口编程思想的优势。
147

被折叠的 条评论
为什么被折叠?



