Struts2中使用HttpServletRequest和HttpServletResponse
2017-10-12 08:52
351 查看
一.非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
package com.iterator.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.ActionSupport;
public class Struts2GetServletRequestAction extends ActionSupport implements
ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
@Override
public String execute() throws Exception {
System.out.println("requestUsername=" + request.getParameter("username") + ",requestPassword=" + request.getParameter("password"));
return SUCCESS;
}
}
这种方式主要是利用了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
package com.iterator.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import com.opensymphony.xwork2.ActionSupport;
public class Struts2GetServletRequestAction extends ActionSupport implements
ServletRequestAware, ServletResponseAware {
private static final long serialVersionUID = 1L;
private HttpServletRequest request;
private HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
@Override
public String execute() throws Exception {
System.out.println("requestUsername=" + request.getParameter("username") + ",requestPassword=" + request.getParameter("password"));
return SUCCESS;
}
}
相关文章推荐
- Struts2使用原生的HttpServletRequest和HttpServletResponse
- Struts2中使用HttpServletRequest和HttpServletResponse
- HttpServletRequestWrapper,HttpServletResponseWrapper在过滤器Filter中的使用
- struts2学习笔记---获得HttpServletResponse或HttpServletRequest对象的几种方法
- Struts2:在Action类中获得HttpServletResponse,HttpServletRequest对象的四种方法
- 使用拦截器获取HttpServletResponse 对象,HttpServletRequest对象
- Struts2之HttpServletRequest、HttpServletResponse,HttpSession,Parameters处理
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- SpringMVC——使用RequestDispatcher.include()和HttpServletResponseWrapper动态获取jsp输出内容
- struts2 中使用servlet的输出流和request,response
- 关于在struts2中interceptor 中使用ActionInvocation 对象获得HttpServletRequest中封装的参数,以Map的形式
- 在Struts2.0中使用HttpServletRequest和HttpServeletResponse对象
- 关于Filter中ServletRequest和ServletResponse强转HttpServletRequest和HttpServletResponse安全问题(向下转型一定不安全吗?)
- RequestDispatcher.forward() 与 HttpServletResponse.sendRedirect()的区别
- HttpServletRequest和HttpServletResponse详解
- 【Struts2学习笔记(8)】访问或添加request/session/application属性获取HttpServletRequest / HttpSession / ServletContex
- HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法区别
- HttpServletResponse HttpServletRequest RequestDispatcher
- HttpServletRequest和HttpServletResponse详解
- HttpServletRequest和response的模拟单元测试