Struts2中使用HttpServletRequest和HttpServletResponse

来源:互联网 发布:音频制作软件下载 编辑:程序博客网 时间:2024/05/18 17:56

一.非Ioc方式

这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类,具体的方法如下所示。

获得request对象:
1).HttpServletRequest request = ServletActionContext.getRequest ();
2).ActionContext ct= ActionContext.getContext();

       HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);

获得response对象:
1).HttpServletResponse response= ServletActionContext.getResponse ();
2).ActionContext ct= ActionContext.getContext();
       HttpServletResponse response=(HttpServletResponse )ct.get(ServletActionContext.HTTP_RESPONSE);


二:IOC方式

Action在继承ActionSupport的同时还要实现ServletRequestAware和ServletResponseAware接口

[java] view plain copy
  1. package com.iterator.action;  
  2.   
  3. import javax.servlet.http.HttpServletRequest;  
  4. import javax.servlet.http.HttpServletResponse;  
  5.   
  6. import org.apache.struts2.interceptor.ServletRequestAware;  
  7. import org.apache.struts2.interceptor.ServletResponseAware;  
  8.   
  9. import com.opensymphony.xwork2.ActionSupport;  
  10.   
  11. public class Struts2GetServletRequestAction extends ActionSupport implements  
  12.         ServletRequestAware, ServletResponseAware {  
  13.   
  14.     private static final long serialVersionUID = 1L;  
  15.     private HttpServletRequest request;  
  16.     private HttpServletResponse response;  
  17.       
  18.     public void setServletRequest(HttpServletRequest request) {  
  19.         this.request=request;  
  20.     }  
  21.   
  22.     public void setServletResponse(HttpServletResponse response) {  
  23.         this.response=response;  
  24.     }  
  25.   
  26.     @Override  
  27.     public String execute() throws Exception {  
  28.         System.out.println("requestUsername=" + request.getParameter("username") + ",requestPassword=" + request.getParameter("password"));  
  29.         return SUCCESS;  
  30.     }  
  31. }  
原创粉丝点击