首页 > 其他 > 详细

Struts2的Action中获取request对象的几种方式?

时间:2020-11-02 16:40:55      阅读:20      评论:0      收藏:0      [点我收藏+]

1. 通过ActionContext.getSession获取

2. 通过ServletActionContext.getRequest()获取

3. 通过SessionAware接口注入

4. 通过ServletRequestAware接口注入

 

第一种获取requet对象方法---HttpServletRequest对象的attributes(解耦)  

    Map<String, Object> request = (Map)ActionContext.getContext().get("request"); 

第二种HttpServletRequest request = ServletActionContext.getRequest();

三四种方法需要 Action类实现相应的拦截器接口

  1,实现ServletRequestAware接口,  

  2,实现 setServletRequest方法。  

    Struts2在调用 execute方法之前就会先调用 setServletRequest方法

并将 request参数传入这个方法

 

通过IOC的方式注入 需要的Servlet API

public class UserAction extends ActionSupport implements ServletResponseAware, ServletRequestAware{

  private String username;

  private int password;

 

  HttpServletRequest req;

  HttpServletResponse resp;

 

  //实现ServletRequestAware 通过IOC的方式 获得request

  @Override

  public void setServletRequest(HttpServletRequest req) {

     this.req = req;

  }

  //实现ServletResponseAware 通过IOC的方式获得Response

   

Struts2的Action中获取request对象的几种方式?

原文:https://www.cnblogs.com/programb/p/12845159.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!