搜索
查看: 6112|回复: 0
打印 上一主题 下一主题

Struts2中获取http请求对象的各种方法 [复制链接]

Rank: 8Rank: 8

go
楼主
发表于 2012-3-14 17:33:22 |只看该作者 |倒序浏览
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.util.ServletContextAware;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings( { "serial", "unused", "unchecked" })
public class Test extends ActionSupport implements ServletRequestAware, ServletResponseAware, RequestAware, SessionAware, ServletContextAware, ApplicationAware {

    private HttpServletRequest request;

    private HttpServletResponse response;

    private HttpSession session;

    private Map<String, Object> requestMap, sessionMap, contextMap;

    private ServletContext context;

    @Override
    public String execute() throws Exception {
        this.request = ServletActionContext.getRequest();
        this.request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);

        this.session = this.request.getSession();
        this.sessionMap = ActionContext.getContext().getSession();
        this.sessionMap = ServletActionContext.getContext().getSession();// 调用父类ActionContext的方法
        this.sessionMap = (Map<String, Object>) ActionContext.getContext().get(ServletActionContext.SESSION);

        this.response = ServletActionContext.getResponse();
        this.response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);

        this.context = this.session.getServletContext();
        this.context = ServletActionContext.getServletContext();
        this.context = (ServletContext) ActionContext.getContext().get(ServletActionContext.SERVLET_CONTEXT);
        this.contextMap = ActionContext.getContext().getApplication();
        this.contextMap = ActionContext.getContext().getContextMap();
        this.contextMap = (Map<String, Object>) ActionContext.getContext().get(ActionContext.APPLICATION);
        this.contextMap = (Map<String, Object>) ActionContext.getContext().get(ServletActionContext.APPLICATION);

        return SUCCESS;
    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request = request;
    }

    @Override
    public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }

    @Override
    public void setRequest(Map<String, Object> requestMap) {
        this.requestMap = requestMap;
    }

    @Override
    public void setSession(Map<String, Object> sessionMap) {
        this.sessionMap = sessionMap;
    }

    @Override
    public void setServletContext(ServletContext context) {
        this.context = context;
    }

    @Override
    public void setApplication(Map<String, Object> contextMap) {
        this.contextMap = contextMap;
    }
}
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏0 支持支持0 反对反对0
刚完成了红包任务,赚了2个金币~~
回顶部