struts2---获得Sevlet对象的2*2种方法
1.通过api获得Servlet原始对象:request,response,session,application
public class LoginAction2
public String test()
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
ServletContext application = ServletActionContext.getServletContext();
return Action.SUCCESS:
}
}
2.通过api获得封装后的对象:session,application
Map session = ActionContext.getContext().getSession();
Map application = ActionContext.getContext().getApplication();
3.通过实现接口获得Servlet原始对象:request,response
4.通过实现接口获得封装后的对象:session,application
package com.etc.action;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.apache.struts2.interceptor.SessionAware;
public class LoginAction2 implements ServletRequestAware,ServletResponseAware,SessionAware,ApplicationAware{
//第三种方式:通过实现接口得到原始对象,request,response
HttpServletRequest request;
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
HttpServletResponse response;
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
//第四种方式:通过实现接口,获得封装后的Map对象
Map application;
public void setApplication(Map<String, Object> application) {
this.application = application;
}
Map session;
public void setSession(Map<String, Object> session) {
this.session = session;
}
}