Struts2中,三种获取ServletAPI的方法
2017-10-10 16:36
471 查看
tip:servletAPI?就是Servlet中的一些对象啊,主要四个域对象!
为什么说是原生态,看方法二就知道了。
另外这里面有一个ThreadLocal类。他指的是当前线程!
作用是在当前线程里面保存个值。只有当前线程才可以获取到。
但是使用前,必须注入即实现setXXX方法!
【其他同理!】
方法1:耦合方法
使用ServletActionContext获取, 这种方法获取的都是原生态的ServletAPI!为什么说是原生态,看方法二就知道了。
HttpServletRequest request = ServletActionContext.getRequest(); HttpSession session = request.getSession(); HttpServletResponse response = ServletActionContext.getResponse(); ServletContext servletContext = ServletActionContext.getServletContext(); PageContext pageContext = ServletActionContext.getPageContext(); ActionContext context = ServletActionContext.getContext();
方法二:解耦方法
通过ActionContext得到域对象,而他获得的就是Map的对象。另外这里面有一个ThreadLocal类。他指的是当前线程!
作用是在当前线程里面保存个值。只有当前线程才可以获取到。
ActionContext context = ServletActionContext.getContext(); Map<String, Object> sessionMap = context.getSession(); //看源码发现泛型Object为Map<String,Object> Map<String, Object> applicationMap = context.getApplication(); //request对象 Map<String, Object> requestMap = (Map<String, Object>) context.get("request");
方法三:实现XXXAware接口
自定义类实现接口的方法ServletRequestAware,并在自定义类中定义变量。HttpServletRequest request;但是使用前,必须注入即实现setXXX方法!
【其他同理!】
public class MyAction3 implements ServletRequestAware,ServletResponseAware,ServletContextAware { HttpServletRequest request ; @override public void setServletRequest(HttpServletRequest request){ this.request = request; } <然后就可以使用request对象了。>
相关文章推荐
- struts2 三种方法与Servlet API 的交互详解
- Struts2的配置和获取相关servlet API的方法
- Struts2 访问 Servlet API 的三种方法
- 【深入Struts2】获取ServletAPI的三种方式
- Strust2获取Servlet API的三种方法
- Struts2 访问 Servlet API 的三种方法
- Struts2获取request三种方法
- Struts2获取request三种方法
- struts2的Action从页面获取传递的参数的三种方法
- Struts2获取request三种方法
- struts2中ServletActionContext与ActionContext区别及获取Servlet对象方法
- struts2获取表单提交数据的三种方法
- Struts2 获取表单数据到实体的三种方法
- Struts2--获取ServletAPI的方式
- Struts2总结---Action中获取Servlet相关API(3)
- Struts2获取request三种方法
- struts2,转发、重定向,访问servletAPI、获取表单参数
- Struts2获取request、session、application的三种方法
- Struts2获取request三种方法 (2011-03-23 17:12:18)
- struts2第十讲学习笔记,获取Servlet.api的两种方式