域對象的引用,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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM