Struts2访问request,session,application的四种方式

来源:互联网 发布:php开发前景 编辑:程序博客网 时间:2024/05/17 01:44
 方式1--》访问Map类型的:
package cn.pdsu.edu;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * 普通方式:Map类型的request,session,application */public class ActionDemo1 extends ActionSupport {private Map<String,Object> request;private Map<String,Object> session;private Map<String,Object> application;public ActionDemo1() {this.request = (Map)ActionContext.getContext().get("request");this.session = ActionContext.getContext().getSession();this.application = ActionContext.getContext().getApplication();}@Overridepublic String execute() throws Exception {request.put("message", "message");session.put("message", "message");application.put("message", "message");return SUCCESS;}}


方式2--》访问map类型的:

package cn.pdsu.edu;import java.util.Map;import org.apache.struts2.interceptor.ApplicationAware;import org.apache.struts2.interceptor.RequestAware;import org.apache.struts2.interceptor.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** *接口方式:Map类型的request,session,application */public class ActionDemo2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{private Map<String,Object> request;private Map<String,Object> session;private Map<String,Object> application;@Overridepublic String execute() throws Exception {request.put("message", "message");session.put("message", "message");application.put("message", "message");return SUCCESS;}public void setRequest(Map<String, Object> request) {this.request=request;}public void setSession(Map<String, Object> session) {this.session=session;}public void setApplication(Map<String, Object> application) {this.application = application;}}


方式3--》访问HttpServletRequest

package cn.pdsu.edu;import java.util.Map;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;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.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * 普通方式:Servlet类型的request,session,application */public class ActionDemo3 extends ActionSupport {private HttpServletRequest request;private HttpSession session;private ServletContext application;public ActionDemo3() {request = ServletActionContext.getRequest();session = request.getSession();application = session.getServletContext();}@Overridepublic String execute() throws Exception {request.setAttribute("message", "message");session.setAttribute("message", "message");application.setAttribute("message", "message");return SUCCESS;}}


方式4--》通过接口访问HttpServletRequest

package cn.pdsu.edu;import java.util.Map;import javax.management.j2ee.statistics.ServletStats;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;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.SessionAware;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** * 接口方式:Servlet类型的request,session,application */public class ActionDemo4 extends ActionSupport implements ServletRequestAware{private HttpServletRequest request;private HttpSession session;private ServletContext application;@Overridepublic String execute() throws Exception {request.setAttribute("message", "message");session.setAttribute("message", "message");application.setAttribute("message", "message");return SUCCESS;}public void setServletRequest(HttpServletRequest request) {this.request = request;this.session = request.getSession();this.application = session.getServletContext();}}