濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 詳解Struts2中Action訪問(wèn)Servlet API的幾種方法

詳解Struts2中Action訪問(wèn)Servlet API的幾種方法

熱門(mén)標(biāo)簽:給地圖標(biāo)注得傭金 潤(rùn)滑油銷(xiāo)售電銷(xiāo)機(jī)器人 南通通訊外呼系統(tǒng)產(chǎn)品介紹 海外圖書(shū)館地圖標(biāo)注點(diǎn) 外呼系統(tǒng)使用方法 如何看懂地圖標(biāo)注點(diǎn) 自繪地圖標(biāo)注數(shù)據(jù) 電銷(xiāo)機(jī)器人免培訓(xùn) 電話機(jī)器人需要使用網(wǎng)絡(luò)嗎

詳解Struts2中Action訪問(wèn)Servlet API的幾種方法

在通常的web開(kāi)發(fā)中Request和Response對(duì)象比較常見(jiàn),但在Struts2框架中由于Action能與JSP頁(yè)面進(jìn)行數(shù)據(jù)交互,所以通常都不會(huì)用到這兩個(gè)對(duì)象。如果想在Struts2程序中用到這兩個(gè)對(duì)象,也有解決方法

Struts2的Action并未直接與任何Servlet API耦合,這是Struts2的一個(gè)改良之處,因?yàn)锳ction類(lèi)不再與Servlet API耦合,能更輕松的測(cè)試該Action。但如何訪問(wèn)? 

Web應(yīng)用中通常需要訪問(wèn)的Servlet API就是HttpServletRequest、HttpSession、ServletContext這3個(gè)類(lèi),分別代表JSP內(nèi)置對(duì)象中的request、session、application。 

方法一:(一般推薦使用,IOC方式,只能獲得request,而response則得不到)

Struts2提供了ActionContext類(lèi),通過(guò)ActionContext類(lèi)訪問(wèn)Servlet API。 

下面是ActionContext類(lèi)中包含的幾個(gè)常用方法。 

1、public Object get(Object key):取得HttpServletRequest中key的值;
2、void put(String key,Object value):設(shè)置HttpServletRequest中key的值為value;
3、public Map getApplication():獲取封裝了ServletContext的Map對(duì)象;
4、void setApplication(Map application):設(shè)置ServletContext實(shí)例;
5、static ActionContext getContext():靜態(tài)方法,獲取系統(tǒng)的ActionContext實(shí)例;
6、Map getParameters():類(lèi)似于HttpServletRequest中的getParametersMap方法;
7、public Map getSession():獲取封裝了HttpSession的Map對(duì)象;
8、void setSession(Map session):直接傳入一個(gè)Map實(shí)例,將該Map實(shí)例里的key-value對(duì)轉(zhuǎn)換為session的屬性名和屬性值;

方法二:(不推薦,麻煩,非IOC方式,與Servlet API耦合大)

雖然Struts2提供了ActionContext來(lái)訪問(wèn)Servlet API,但這種訪問(wèn)不能直接獲得Servlet API,為了在Action中直接訪問(wèn)Servlet API,Struts2還提供了以下接口。 

1、ServletContextAware:實(shí)現(xiàn)該接口的Action可以直接訪問(wèn)Web應(yīng)用的ServletContext實(shí)例;
2、ServletRequestAware:實(shí)現(xiàn)該接口的Action可以直接訪問(wèn)用戶請(qǐng)求對(duì)象的HttpServletRequest的實(shí)例;
3、ServletResponseAware:實(shí)現(xiàn)該接口的Action可以直接訪問(wèn)服務(wù)器響應(yīng)的HttpServletResponse的實(shí)例; 

方法三:(非IOC方式,強(qiáng)烈推薦使用)

Struts2還提供了一個(gè)ServletActionContext,其靜態(tài)方法有:getPageContext()、getRequest() 、getResponse()、getServletContext()。 

1、HttpServletRequest request=ServletActionContext.getRequest();
2、HttpServletResponse response=ServletActionContext.getResponse();
3、request.getSession().setAttribute("username","admin");
4、request.setAttribute("password","123456");

以上就是Struts2中Action訪問(wèn)Servlet API的幾種方法,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

您可能感興趣的文章:
  • 關(guān)于struts2中Action名字的大小寫(xiě)問(wèn)題淺談
  • Struts2之Action接收請(qǐng)求參數(shù)和攔截器詳解
  • struts2通過(guò)action返回json對(duì)象
  • Struts2 ActionContext 中的數(shù)據(jù)詳解
  • Struts2中異常處理機(jī)制分析

標(biāo)簽:內(nèi)江 廣州 黃石 樂(lè)山 大連 南京 貸款邀約 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Struts2中Action訪問(wèn)Servlet API的幾種方法》,本文關(guān)鍵詞  詳解,Struts2,中,Action,訪問(wèn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Struts2中Action訪問(wèn)Servlet API的幾種方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于詳解Struts2中Action訪問(wèn)Servlet API的幾種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    泗洪县| 依兰县| 四子王旗| 铁岭市| 南和县| 北票市| 高雄县| 屏山县| 绍兴县| 大化| 河南省| 东宁县| 临桂县| 宜君县| 太原市| 寻乌县| 沾化县| 大足县| 广南县| 信阳市| 汉源县| 彰化市| 家居| 扎鲁特旗| 无为县| 海宁市| 夏津县| 松江区| 平乡县| 黎平县| 高唐县| 长阳| 惠水县| 虞城县| 江孜县| 海阳市| 乡城县| 嘉荫县| 巢湖市| 保靖县| 望谟县|