tinguo002

           

          STRUTS2獲得session和request


          來(lái)源

          http://www.cnblogs.com/earl86/archive/2008/11/13/1666459.html

          在struts1中,獲得到系統(tǒng)的request或者session對(duì)象非常方便,都是按照形參傳遞的,但是在struts2中,request和session都被隱藏了
          struts提供兩種方式訪問(wèn)session和request,其中比較常用的是利用SPRING里面所說(shuō)的IOC即控制反轉(zhuǎn)
          IOC方式:
          action類實(shí)現(xiàn)ServletRequestAware接口,并新建一個(gè)HttpServletRequest request
          public class UserLoginAction extends ActionSupport implements ServletRequestAware{
              public void setServletRequest(HttpServletRequest request) {
                this.request=request;
             }
          然后可以生成的request得到對(duì)象,如request.getRemoteAddr()
          action類實(shí)現(xiàn)SessionAware接口,并創(chuàng)建一個(gè)MAP對(duì)象session
          public class UserLoginAction extends ActionSupport implements ServletRequestAware,SessionAware{
              public void setServletRequest(HttpServletRequest request) {
                this.request=request;
             }
          public void setSession(Map session) {
             this.session=session; 
          }
          非IOC方式
          非Ioc方式

          這種方式主要是利用了com.opensymphony.xwork2.ActionContext類以及org.apache.struts2.ServletActionContext類,具體的方法如下所示。
          獲得request對(duì)象:
          AHttpServletRequest request = ServletActionContext.getRequest ();
          B.ActionContext ct= ActionContext.getContext()
              HttpServletRequest request=
          (HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);
          獲得session對(duì)象:
          在Struts2中底層的session都被封裝成了Map類型,我們稱之為SessionMap,而平常我們所說(shuō)的session則是指HttpSession對(duì)象,具體的獲得方法如下所示。
          A.Map session=ActionContext.getSession();
          B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
          得到這個(gè)SessionMap之后我們就可以對(duì)session進(jìn)行讀寫(xiě)了,如果我們想得到原始的HttpSession可以首先得到HttpServletRequest對(duì)象,然后通過(guò)request.getSession()來(lái)取得原始的HttpSession對(duì)象。一般情況下SessionMap已經(jīng)可以完成所有的工作,我們不必再去碰底層的session了。


          歡迎大家訪問(wèn)我的個(gè)人網(wǎng)站 萌萌的IT人

          posted on 2012-09-05 14:15 一堣而安 閱讀(231) 評(píng)論(0)  編輯  收藏 所屬分類: struts2


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 铜陵市| 张家界市| 宁海县| 通渭县| 康保县| 明溪县| 贵港市| 怀来县| 万荣县| 天长市| 乐至县| 安岳县| 乐业县| 云阳县| 电白县| 弥渡县| 天等县| 临沂市| 天峨县| 铜山县| 通辽市| 区。| 勐海县| 横峰县| 哈尔滨市| 浑源县| 南郑县| 慈溪市| 阳城县| 洛南县| 长岭县| 潼南县| 沙田区| 凌海市| 麻江县| 垣曲县| 横峰县| 资阳市| 潼关县| 兰州市| 通渭县|