日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Struts2中访问HttpServletRequest和HttpSession

發布時間:2023/11/29 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Struts2中访问HttpServletRequest和HttpSession 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

關鍵字: struts2 httpservletrequest httpsession

????? 在沒有使用Struts2之前,都習慣使用HttpServletRequest和HttpSession對象來操作相關參數,下面介紹一下在Struts2中訪問隱藏的HttpServletRequest和HttpSession的兩種方法:

1.非Ioc方式

這種方式主要是利用了com.opensymphony.xwork2.ActionContext類以及ora.apache.struts2.ServletActionContext類,具體的方法如下所示。

獲得request對象:

1)HttpServletRequest request = ServletActionContext.getRequest ();

2).ActionContext ct=?ActionContext.getContext();



???HttpServletRequest?request=

(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);

獲得session對象:

在Struts2中底層的session都被封裝成了Map類型,我們稱之為SessionMap,而平常我們所說的session則是指HttpSession對象,具體的獲得方法如下所示。

1).Map session=ActionContext.getSession();

2).Map session=(Map)ActionContext.getContext().get(ActionContext.SESSION);

得到這個SessionMap之后我們就可以對session進行讀寫了,如果我們想得到原始的HttpSession可以首先得到HttpServletRequest對象,然后通過request.getSession()來取得原始的HttpSession對象。一般情況下SessionMap已經可以完成所有的工作,我們不必再去強行使用底層的session了。

2.IoC方式

這種方式相對來說變化就比較少了,下面給出代碼大家自己看吧:

import?javax.servlet.http.HttpServletRequest;??? import?javax.servlet.http.HttpServletResponse;??? import?javax.servlet.http.HttpSession;???import?org.apache.struts2.interceptor.ServletRequestAware;??? import?org.apache.struts2.interceptor.ServletResponseAware;??? import?org.apache.struts2.interceptor.SessionAware;???import?com.opensymphony.xwork2.ActionContext;??? import?com.opensymphony.xwork2.ActionSupport;???publicclass?IoCServlet?extends?ActionSupport?implements?SessionAware,?ServletRequestAware,?ServletResponseAware?{???private?String?message;???private?Map?att;???private?HttpServletRequest?request;???private?HttpServletResponse?response;???????public?String?getMessage()?{???return?message;???????????}???publicvoid?setSession(Map?att)?{???this.att?=?att;???}???publicvoid?setServletRequest(HttpServletRequest?request)?{???this.request?=?request;???}???publicvoid?setServletResponse(HttpServletResponse?response)?{???this.response?=?response;???}???@Override??public?String?execute()?{???????????att.put("msg",?"Hello?World?from?Session!");???HttpSession?session?=?request.getSession();???StringBuffer?sb?=new?StringBuffer("Message?from?request:?");???sb.append(request.getParameter("msg"));???sb.append("<br>Response?Buffer?Size:?");???sb.append(response.getBufferSize());???sb.append("<br>Session?ID:?");???sb.append(session.getId());???message?=?sb.toString();???return?SUCCESS;???}??? }

?

import?javax.servlet.http.HttpServletRequest;?? import?javax.servlet.http.HttpServletResponse;?? import?javax.servlet.http.HttpSession;??import?org.apache.struts2.interceptor.ServletRequestAware;?? import?org.apache.struts2.interceptor.ServletResponseAware;?? import?org.apache.struts2.interceptor.SessionAware;??import?com.opensymphony.xwork2.ActionContext;?? import?com.opensymphony.xwork2.ActionSupport;??publicclass?IoCServlet?extends?ActionSupport?implements?SessionAware,?ServletRequestAware,?ServletResponseAware?{??private?String?message;??private?Map?att;??private?HttpServletRequest?request;??private?HttpServletResponse?response;??????public?String?getMessage()?{??return?message;??????????}??publicvoid?setSession(Map?att)?{??this.att?=?att;??}??publicvoid?setServletRequest(HttpServletRequest?request)?{??this.request?=?request;??}??publicvoid?setServletResponse(HttpServletResponse?response)?{??this.response?=?response;??}??@Override??public?String?execute()?{??????????att.put("msg",?"Hello?World?from?Session!");??HttpSession?session?=?request.getSession();??StringBuffer?sb?=new?StringBuffer("Message?from?request:?");??sb.append(request.getParameter("msg"));??sb.append("<br>Response?Buffer?Size:?");??sb.append(response.getBufferSize());??sb.append("<br>Session?ID:?");??sb.append(session.getId());??message?=?sb.toString();??return?SUCCESS;??}?? }


轉載于:https://my.oschina.net/u/1462795/blog/305094

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Struts2中访问HttpServletRequest和HttpSession的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。