Struts2中使用HttpServletRequest和HttpServletResponse

来源:互联网 发布:上海植发 知乎 编辑:程序博客网 时间:2024/06/09 19:34

一.非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接口

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 implementsServletRequestAware, 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;}@Overridepublic String execute() throws Exception {System.out.println("requestUsername=" + request.getParameter("username") + ",requestPassword=" + request.getParameter("password"));return SUCCESS;}}
这样即可获取从前台的页面传递的参数信息。

参考资料:

http://blog.csdn.net/codolio/article/details/5619323

http://pengfeng.iteye.com/blog/212358

http://blog.csdn.net/yakoo5/article/details/5268365

原创粉丝点击