麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > JSP > 正文

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

2024-09-05 00:23:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

詳解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)用戶(hù)請(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)教程知識(shí)閱讀請(qǐng)移步到JSP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: av手机在线免费播放 | 人成久久 | 日本黄色a视频 | 91久久综合 | 蜜桃视频在线免费播放 | 宅男噜噜噜66一区二区 | 久久久久久久久久久影视 | 一区二区三区视频在线观看 | 91精品一区二区综合在线 | 91不雅视频 | 久久一区三区 | 国产色视频一区 | 国产品久久| 福利免费在线 | 777sesese| 欧美另类综合 | 麻豆视频在线观看 | 日韩视频区| 精品国产高清一区二区三区 | 国产一级二级视频 | 美女视频免费一区二区 | 欧洲精品久久久久69精品 | 日本a v免费观看 | 国产毛片毛片毛片 | 亚洲视频在线观看免费 | 国产成人精品一区在线播放 | 欧美天堂一区 | 国产日韩亚洲 | 麻豆小视频在线观看 | 成人性视频欧美一区二区三区 | 中文字幕免费在线看 | 日日爱影院 | 亚洲啊v在线观看 | 亚洲综人网 | 最新中文字幕第一页视频 | 91久久精品国产亚洲 | 韩国精品视频在线观看 | 欧美一级高潮 | 成人在线视频播放 | 91短视频版高清在线观看免费 | 久久国语对白 |