Struts2学习笔记(五)——Action访问Servlet API

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Struts2学习笔记(五)——Action访问Servlet API在Strut2中访问Servlet API有三种方式:

1、通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API。

步骤:1).创建一个ActionContext

ActionContext context=ActionContext.getContext();2).通过context对象获取Servlet API

Map<String,Object> getapplication() 获取的是application中存储的所有信息Map<String,Object> getParameters() 相当于 request.getParameterMap();Map<String,Object> getsession(); 获取的是session中存储的所有信息.put(String key,Object value); 就相当于request.setAttribute();Object get(String key) 就相当于request.getAttribute();2、通过注入方式(真正的Servlet API)

通过实现*Aware接口获得Servlet API,比如:

ServletContextAware : 注入ServletContext对象ServletRequestAware :注入 request对象ServletResponseAware : 注入response对象比如获取HttpServletRequest对象:

1 public class TestAction extends ActionSupport implements ServletRequestAware { 2 HttpServletRequest request; 3 @Override 4 public String execute() { 5 request.setAttribute("name", "requestTest"); 6 return "success"; 7 } 8 9 @Override10 public void setServletRequest(HttpServletRequest request) {11 this.request = request;12 }13 14 }

3、通过ServletActionContext(真正的Servlet API)

通过ServletActionContext类中提供了静态方法可以直接获取ServletAPI:

1 //获取request2 HttpServletRequest request = ServletActionContext.getRequest();3 //获取session4 HttpSession session = request.getSession();5 //获取context6 ServletContext context = ServletActionContext.getServletContext();

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航