域对象的引用,ActionContext 和ServletActionContext类的使用

 

ActionContext 获取 域引用的map

ServletActionContext获取具体域对象

 

//域范围

        ActionContext ac = ActionContext.getContext();
        Map<String,Object> applicationMap = ac.getApplication();//这个就是ServletContext对象中维护的那个Map
        applicationMap.put("p", "application_p");// ServletContext.setAttribute(key,object);
        
        Map<String,Object> sessionMap = ac.getSession();//这个就是HttpSession对象中维护的那个Map
        sessionMap.put("p", "session_p");// HttpSession.setAttribute(key,object);
        
        ac.put("p", "request_p");//相当于ServletRequest.setAttribute(key,obj);

 

 1 //获取Servlet中的常用对象的引用
 2 
 3 //ServletContextAware接口
 4 
 5 public class WebObjectAction extends ActionSupport implements Serializable,ServletContextAware,ServletRequestAware,ServletResponseAware {
 6     private ServletContext context;
 7     private HttpServletRequest request;
 8     private HttpServletResponse response;
 9     //方式一
10     public String execute1(){
11         ServletContext sc = ServletActionContext.getServletContext();
12         System.out.println(sc);
13         ServletRequest request = ServletActionContext.getRequest();
14         System.out.println(request);
15         return SUCCESS;
16     }
17     //方式二
18     public String execute2(){
19         System.out.println(context);
20         System.out.println(request);
21         System.out.println(response);
22         return SUCCESS;
23     }
24     public void setServletContext(ServletContext context) {//如果动作类实现了ServletContextAware接口,就会自动调用该方法
25         this.context = context;
26     }
27     public void setServletRequest(HttpServletRequest request) {
28         this.request = request;
29     }
30     public void setServletResponse(HttpServletResponse response) {
31         this.response = response;
32     }
33 
34     
35     
36 }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值