struts2中关于Application request response session 作用域的获取方式
解耦合式
方式一
第一种方式:使用Map集合
public class TestAction extends ActionSupport{
//struts2中关于Application request response session 作用域的获取方式
//解耦合的方式:Map
//耦合的方式:HttpServletRequest HttpServletResponse HttpSession ServletContext
//定义需要使用的作用域
private Map<String, Object> application;
private Map<String, Object> request;
private Map<String,Object> session;
private Map<String, Object> response;
public String test() {
System.out.println("请求ok");
//项目上下文 项目环境
application=(Map<String, Object>) ActionContext.getContext().get("application");
//application.put("name", "tomcat");
//获取请求作用域
request=(Map<String, Object>) ActionContext.getContext().get("request");
//request.put("name", "张三");
//获取session 会话作用域
session=ActionContext.getContext().getSession();
session.put("name", "admin");
return SUCCESS;
}
//解耦方式2:根据实现implements RequestAware,SessionAware,ApplicationAware通过map来进行获取作用域
public class TestAction1 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{
//2.struts2中关于Application request response session 作用域的获取方式
private Map<String, Object> request;
//session
private Map<String, Object> session;
//获取application
private Map<String, Object> application;
public String test() {
//请求作用域
//request.put("name", "小强");
//会话作用域
//session.put("name", "tomcat");
//上下文(全局)作用域
application.put)("name","恩恩额");
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;
}
//耦合方式获取作用域
方式一:通过实现ServletRequestAware,ServletResponseAware,ServletContextAware接口
//3.耦合的形式 struts2中关于Application request response session 作用域的获取方式
private HttpServletRequest request;
private HttpServletResponse response;
private ServletContext application;
public String test() {
//请求作用域
request.setAttribute("name","哈哈");
//会话作用域
HttpSession session=request.getSession();
session.setAttribute("name", "葫芦娃");
//全局作用域
application.setAttribute("name","嘿嘿");
return SUCCESS;
}
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
public void setServletContext(ServletContext application) {
this.application=application;
}
//耦合方式二
//4.耦合的形式 struts2中关于Application request response session 作用域的获取方式
public String test() {
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
ServletContext application=ServletActionContext.getServletContext();
//请求作用域
request.setAttribute("name", "tomcat");
//会话作用域
Session session= request.getSession();
session.setAttribute("name", "eheh");
//全局作用域
application.setAttribute("name", "dada");
return SUCCESS;
}