Struts2如何获取request、session教程实例源码介绍



Struts2如何获取request、session教程实例源码介绍。与Servlet容器无关获取的方法(非IoC)

获取方法 与servlet无关: 非IoC

ActionContext get(Object) , getSession , getApplication这三个方法分别能够获取Map类型的request,session,application

获取时首先需要获取一个ActionContext对象,然后再调用上面的三个方法

注意:如果使用此方法,则必须在execute()方法中进行初始化,例如:

 

ActionContext context = ActionContext.getContext();

Map request = (Map)context.get(“request”);

Map session = context.getSession();

Map application = context.getApplication();

request.put(“req”, “request属性”);

session.put(“ses”, “session属性”);


application.put(“app”, “application属性”);

l         与Servlet容器无关的获取方法(IoC)

获取方法 与servlet无关: IoC模式,Action需要实现三个接口,RequestAware,SessionAware,ApplicationAware,这样容器会自动为我们初始Map request、Map session 、Map application。

l         从Servlet容器获取的方法(非IoC)

从ServletActionContext对象中的 getRequest() / getServletContext()

 

HttpServletRequest request = ServletActionContext.getRequest();

HttpSession session =  request.getSession() ;

ServletContext application = ServletActionContext. getServletContext();

l         从Servlet容器获取的方法(IoC)

Action需要实现两个个接口,ServletRequestAware,ServletContextAware,这样容器会自动为我们初始HttpServletRequest request、ServletContext application。