比如說有如下場景:
第乙個ajax請求到伺服器用來儲存使用者 session.setattribute("user",userobj);
然後第二個ajax請求到伺服器來獲取使用者,這時候拿到的userobj為null. 怎麼回事呢?
取到使用者物件為null肯定是session物件不一致,session物件不一致肯定頁面的sessionid不一樣(用火狐firebug檢視一下就能發現)
那麼我們就可以推斷出ajax提交請求的方式不一樣了
第乙個ajax請求是非同步形式
第二個ajax請求是同步形式
這樣就會出現問題
解決方法是統一用同步的方式
在做專案中也需要權衡什麼時候用非同步,什麼時候用同步
一般是讀取資料的時候用非同步,提交資料的時候用同步
下面是jquery的非同步同步提交方式:
$.ajax(
});
Struts2獲取Session方法
struts2裡面有三種方法可以獲取request,最好使用servletrequestaware介面通過ioc機制注入request物件。方法1 ioc方式 action類實現sessionaware介面,並建立乙個map物件session public class userloginaction...
Struts2中Session的使用
在struts2裡,如果需要在action中使用session,可以通過下面兩種方式得到 1.通過actioncontext class中的方法getsession得到 2 action實現org.apache.struts2.interceptor.sessionaware介面的方式來對sessi...
struts2 跟蹤使用者狀態session
使用者登陸時,為使用者名稱設定session execute方法中用actioncontext物件訪問web應用的session actioncontext.getcontext getsession put user getusername 在jsp頁面上面 歡迎,您已經登入!從乙個action跳...