struts2获取request、session、application的四种方式
//获取map类型的request、session、application public class LoginAction1 extendsActionSupport { private Map request; private Map session; private Map application; publicLoginAction1() { request= (Map)ActionContext.getContext().get("request"); session= ActionContext.getContext().getSession(); application= ActionContext.getContext().getApplication(); } publicString execute() { request.put("r1","r1"); session.put("s1","s1"); application.put("a1","a1"); returnSUCCESS; } } //采用接口方式获得map类型的request、session、application public class LoginAction2 extendsActionSupport implements RequestAware,SessionAware, ApplicationAware { private Map<String, Object> request; private Map<String, Object> session; private Map<String, Object> application; //DIdependency injection //IoCinverse of control publicString execute() { request.put("r1","r1"); session.put("s1","s1"); application.put("a1","a1"); returnSUCCESS; } @Override publicvoid setRequest(Map<String, Object> request) { this.request= request; } @Override publicvoid setSession(Map<String, Object> session) { this.session= session; } @Override publicvoid setApplication(Map<String, Object> application) { this.application= application; } } //获取Http类型的request、session、application public class LoginAction3 extendsActionSupport { private HttpServletRequest request; private HttpSession session; private ServletContext application; publicLoginAction3() { request= ServletActionContext.getRequest(); session= request.getSession(); application= session.getServletContext(); } publicString execute() { request.setAttribute("r1","r1"); session.setAttribute("s1","s1"); application.setAttribute("a1","a1"); returnSUCCESS; } } //采用接口方式获取Http类型的request、session、application public class LoginAction4 extendsActionSupport implements ServletRequestAware { private HttpServletRequest request; private HttpSession session; private ServletContext application; publicString execute() { request.setAttribute("r1","r1"); session.setAttribute("s1","s1"); application.setAttribute("a1","a1"); returnSUCCESS; } @Override publicvoid setServletRequest(HttpServletRequest request) { this.request= request; this.session= request.getSession(); this.application= session.getServletContext(); } } |