lyyb2001

          只是為方便自己找記錄而已
          posts - 57, comments - 27, trackbacks - 0, articles - 5
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理

          STRUTS2獲得session和request

          Posted on 2008-03-07 21:12 skycity 閱讀(49803) 評論(2)  編輯  收藏 所屬分類: APACHE開源項(xiàng)目

          在struts1中,獲得到系統(tǒng)的request或者session對象非常方便,都是按照形參傳遞的,但是在struts2中,request和session都被隱藏了
          struts提供兩種方式訪問session和request,其中比較常用的是利用SPRING里面所說的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得到對象,如request.getRemoteAddr()
          action類實(shí)現(xiàn)SessionAware接口,并創(chuàng)建一個(gè)MAP對象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對象:
          A HttpServletRequest request = ServletActionContext.getRequest ();
          B.ActionContext ct= ActionContext.getContext()
          ?? HttpServletRequest?request=
          (HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST );
          獲得session對象:
          在Struts2中底層的session都被封裝成了Map類型,我們稱之為SessionMap,而平常我們所說的session則是指HttpSession對象,具體的獲得方法如下所示。
          A.Map session=ActionContext.getSession();
          B.Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
          得到這個(gè)SessionMap之后我們就可以對session進(jìn)行讀寫了,如果我們想得到原始的HttpSession可以首先得到HttpServletRequest對象,然后通過request.getSession()來取得原始的HttpSession對象。一般情況下SessionMap已經(jīng)可以完成所有的工作,我們不必再去碰底層的session了。


          Lyyb2001

          評論

          # re: STRUTS2獲得session和request  回復(fù)  更多評論   

          2011-05-27 11:06 by easy518網(wǎng)址導(dǎo)航
          http://www.easy518.com

          # re: STRUTS2獲得session和request  回復(fù)  更多評論   

          2014-04-13 20:21 by wn
          求詳細(xì)啊~~~
          主站蜘蛛池模板: 太和县| 靖安县| 托里县| 花垣县| 彩票| 灯塔市| 横峰县| 肥西县| 信阳市| 德安县| 白山市| 车致| 郧西县| 新昌县| 琼中| 新龙县| 延寿县| 名山县| 闻喜县| 青河县| 呼和浩特市| 普安县| 静乐县| 京山县| 彭山县| 崇明县| 汉川市| 新龙县| 都匀市| 龙江县| 通州市| 勃利县| 吴江市| 鄂尔多斯市| 武陟县| 义乌市| 博野县| 青河县| 威远县| 揭东县| 朝阳县|