struts2 获取request、session的方法

一,获取方式:

从Servlet容器中获取的方法
与Servlet容器无关的获取方法

IoC方式
非Ioc方式

二,获取方法

2.1 与servlet无关:

    2.1.1 非IoC模式

Java代码
  1. ActionContext context ;//该方法还可以取得值栈(getValueStack()),使用push(obj)往值栈中放数据   
  2. Map request ;   
  3. Map session ;   
  4. Map application ;   
  5.   
  6. //以下初始化方法要放在方法中   
  7. context = ActionContext.getContext();   
  8.   
  9. request = (Map)context.get("request");//获取request   
  10. session = context.getSession();//获取session   
  11. application = context.getApplication();//获取application   
  12.   
  13. request.put("req", "request属性");   
  14. session.put("ses", "session属性");   
  15. application.put("app", "application属性");  
Xml代码
  1. <!--jsp中取值-->  
  2. request属性接受:<s:property value="#request.req"/>${requestScope.req}   
  3. session属性接受:<s:property value="#session.ses"/>${sessionScope.ses}   
  4. application属性接受:<s:property value="#application.app"/>${applicationScope.app}  

    2.1.2 IoC模式

Java代码
  1. //实现接口   
  2. public class LoginAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware   
  3.   
  4. Map request ;   
  5. Map session ;   
  6. Map application ;   
  7.   
  8. public void setRequest(Map request) {   
  9.         this.request = request;   
  10. }   
  11. public void setSession(Map session) {   
  12.     this.session = session;   
  13. }   
  14. public void setApplication(Map application) {   
  15.     this.application = application;   
  16. }      

2.2 与servlet有关

    2.2.1 非IoC模式

Java代码
  1. HttpServletRequest request;   
  2. HttpSession session ;   
  3. ServletContext application;   
  4.   
  5. request = ServletActionContext.getRequest();//获取request   
  6. session = request.getSession();   
  7. application = ServletActionContext.getServletContext();//获取application   
  8.   
  9. request.setAttribute("req", "request属性111");   
  10. session.setAttribute("ses", "session属性111");   
  11. application.setAttribute("app", "application属性111");  

    2.2.1 IoC模式

Java代码
  1. //实现接口   
  2. public class LoginAction extends ActionSupport implements ServletRequestAware,ServletContextAware   
  3.   
  4.   
  5. HttpServletRequest request;   
  6. ServletContext application;   
  7.   
  8.   
  9. public void setServletRequest(HttpServletRequest request) {   
  10.     this.request = request;   
  11. }   
  12. public void setServletContext(ServletContext application) {   
  13.     this.application = application;   
  14. }  
原文地址:https://www.cnblogs.com/opaljc/p/2397742.html