struts2 的action没有直接内嵌 session、request、response 对象,如需访问,则通过ServletActionContext 来进行访问。请参考:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
//错误方法:直接在类体中获取是错误的,因为这样无法关联请求上下文:
//HttpServletRequest request = ServletActionContext.getRequest();
//HttpServletResponse response = ServletActionContext.getResponse();
//HttpSession session = request.getSession();
//正确方法:在execute()方法体中获取 request 、response 、session
public String execute() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
HttpSession session = request.getSession();
return SUCCESS;
}
}