亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

解決J2EE-session在瀏覽器關閉后失效問題

2024-07-13 10:16:59
字體:
來源:轉載
供稿:網友

前幾天在做一個簽到系統時,遇到了喜聞樂見的session問題,項目為Spring+SpringMVC+Mybatis框架,maven管理目錄的javaweb端系統,對于session的一些問題,作出以下分析,在這里,著重討論session生命周期的問題,至于其他定義,不做解釋:

首先,說明一下session的生命周期:

存儲:Session存儲在服務器端,一般為了防止在服務器的內存中(為了高速存?。?,Sessinon在用戶訪問第一次訪問服務器時創建,需要注意只有訪問JSP、Servlet等程序時才會創建Session,只訪問HTML、IMAGE等靜態資源并不會創建Session。在一個javaweb應用中,可調用request.getSession(boolean xxx)生成Session。注意,boolean型參數為true時,在此處強制生成一個新的session。

1.session失效時間:

距離上一次使用該session的時間達到設置的失效時間,session失效

2.還有一種是方法 session.invalidate()被執行,主動使得session失效

對于失效時間,可以通過配置web.xml中的屬性來定義:

 <session-config> <session-timeout>失效時間</session-timeout> </session-config>

失效時間單位為分鐘,若要使session有效時間為一天,則可以設為60*24,當設置為0或負數時,session永久有效,根據失效時間的定義,很容易理解這一情況。

session為什么在瀏覽器關閉之后失效了?

  • 未設置session失效時間,默認為瀏覽器關閉后失效;
  • 大部分的session機制都是采用進程中的cookie來保存sessionid的,也就是JSESSIONID,瀏覽器關閉后進程消失,進程中的cookie消失,那么sessionid也就跟著消失了。

根據已知的內容,寫了一個簡單的例子:

@Controllerpublic class SessionTest { @RequestMapping("/sessionTest") public String sessionTest(HttpServletRequest request, HttpServletResponse response){  System.out.println("success!");  HttpSession session = request.getSession();  session.setMaxInactiveInterval(259200);  request.setAttribute("creationtime",session.getCreationTime());//創建時間  request.setAttribute("id",session.getId());//id  request.setAttribute("max",session.getMaxInactiveInterval(-1));//最大失效時間  //在這里,MaxInactiveInterval的優先級高于web.xml中的session-cofig,單位為秒  request.setAttribute("lasttime",session.getLastAccessedTime());//上次使用時間  request.setAttribute("sessionTest",session);//  System.out.println(session.getCreationTime());//  System.out.println(session.getMaxInactiveInterval());//  System.out.println(session.getLastAccessedTime());  return "page/showSession"; } <table border="1" cellspacing="0" cellpadding="0">  <tr><td>創建時間:</td><td>${creationtime}</td></tr>  <tr><td>id:</td><td>${id}</td></tr>  <tr><td>最大存活時間:</td><td>${max}</td></tr>  <tr><td>上次使用時間:</td><td>${lasttime}</td></tr>  <tr><td>session:</td><td>${sessionTest}</td></tr> </table>

解析:

  • 上面的代碼模擬了一次登錄情況,控制器中,創建了一個HttpSession對象,基本設置了所有能設置的參數,
  • 但是在瀏覽器關閉后,再次進入主頁面時,還是需要再次登錄,說明瀏覽器端是沒有再次拿到這個session對象的,我們可以在chrome瀏覽器的設置->顯示高級設置->隱私設置的內容設置->所有cookie與網站數據中,搜索本地tomcat服務器去查看本次存入的session,即一個名為JSESSIONID的cookie,情況如下

J2EE,瀏覽器,session,失效
J2EE,瀏覽器,session,失效

可見,session的失效時間其實還是在瀏覽器關閉時,所以只有瀏覽器不關閉再次訪問的情況,才能繼續使用登錄狀態,到底上面我們所設置的失效時間代表的是什么?

瀏覽器和服務器之間創建了一個Session,由于客戶端長時間(休眠時間)沒有與服務器交互,服務器將此Session銷毀,客戶端再一次與服務器交互時之前的Session就不存在了,我的理解是,失效時間只生效在一次會話過程中,若瀏覽器關閉,會話結束,其實失效時間設置為永久有效,就是到瀏覽器關閉,會話關閉的那個時刻。要解決這個問題,可以把cookie與session混用,有這么的笨辦法:

主動添加Cookie,設置保存目錄與存活時間

public static void addCookie(String name, String value, int age, HttpServletResponse response) throws   UnsupportedEncodingException {  Cookie c = new Cookie(name, URLEncoder.encode(value, "utf-8"));  c.setMaxAge(age);  c.setPath(path);  response.addCookie(c); }

在再次訪問時,使用Cookie[] cookies = request.getCookies();遍歷cookie,根據cookie的名字獲取想要的cookie,也可說是session,最后,得到了自己想要的結果,session(這個名為JSESSIONID的cookie)逃出了瀏覽器的監禁。

總結

以上所述是小編給大家介紹的解決J2EE-session在瀏覽器關閉后失效問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精久久久久久| 日韩va亚洲va欧洲va国产| 亚洲三级免费看| 欧美中文在线字幕| 欧美性videos高清精品| 国产成人jvid在线播放| 国产成人一区三区| 日韩精品视频三区| 色综合久综合久久综合久鬼88| 色综合久久悠悠| 国内揄拍国内精品少妇国语| 成人有码视频在线播放| 亚洲人成77777在线观看网| 在线观看日韩欧美| 8090理伦午夜在线电影| 欧美激情精品久久久久久大尺度| 国产成人精品免高潮在线观看| 亚洲精品福利在线| 久久久国产一区二区三区| 欧美国产中文字幕| 精品高清美女精品国产区| 久久国产精彩视频| 亚洲专区中文字幕| 亚洲激情中文字幕| 91精品视频免费观看| 日本人成精品视频在线| 国产精品老牛影院在线观看| 国产精品亚发布| 日韩欧美亚洲成人| 亚洲第一区在线观看| 亚洲国产精彩中文乱码av| 久久中文字幕在线视频| 欧美激情免费观看| 久久久最新网址| 日韩精品视频中文在线观看| 亚洲女人天堂成人av在线| 欧美午夜无遮挡| 精品日本高清在线播放| 久久99久久亚洲国产| 91麻豆国产语对白在线观看| 久久韩国免费视频| 久久久国产精品亚洲一区| 日韩av在线免费观看一区| 中文字幕欧美精品在线| 国产精品一区二区3区| 国产不卡精品视男人的天堂| 日韩在线资源网| 国产精品av在线| 91在线免费观看网站| 亚洲图片在线综合| 久久国产精品偷| 5566日本婷婷色中文字幕97| 中日韩午夜理伦电影免费| 亚洲高清色综合| 亚洲2020天天堂在线观看| 欧美剧在线观看| 91亚洲精品一区二区| 亚洲美女中文字幕| 日韩精品免费在线视频观看| 日韩一区二区三区国产| 亚洲aaa激情| 福利精品视频在线| 影音先锋欧美在线资源| 亚洲天堂免费在线| 日韩国产欧美精品一区二区三区| 日韩av在线免费观看| 久久躁日日躁aaaaxxxx| 日韩精品福利网站| 中文字幕亚洲欧美日韩2019| 国产精品久久久久久久久久东京| 欧美国产日本在线| 成人久久久久久久| 青青草99啪国产免费| 日韩一区二区久久久| 永久免费毛片在线播放不卡| 久久视频在线观看免费| 欧美黑人一区二区三区| 成人亚洲欧美一区二区三区| 国产v综合ⅴ日韩v欧美大片| 欧美激情一区二区久久久| 日韩美女毛茸茸| 国产精品专区h在线观看| 国产精品美女免费视频| 精品一区二区亚洲| 国产精品爽爽ⅴa在线观看| 亚洲日本成人女熟在线观看| 欧美理论片在线观看| 日韩精品小视频| 91夜夜揉人人捏人人添红杏| 欧美成人免费va影院高清| 日韩av电影国产| 久久国产精品久久精品| 成人日韩在线电影| 欧美极品少妇xxxxⅹ裸体艺术| 日韩成人在线观看| 亚洲精品中文字幕女同| 国产精品视频区1| www.日韩欧美| 日韩在线观看网址| 日韩大胆人体377p| 最新日韩中文字幕| 在线日韩日本国产亚洲| 中文字幕欧美日韩精品| 日韩av在线免费看| 国产午夜精品视频免费不卡69堂| 在线精品视频视频中文字幕| 成人午夜一级二级三级| 国产中文日韩欧美| 成人免费网站在线观看| 久久青草精品视频免费观看| 久久久在线观看| 国产精品欧美久久久| 中文字幕欧美日韩| 欧美电影电视剧在线观看| 欧美最猛性xxxxx(亚洲精品)| 55夜色66夜色国产精品视频| 国产美女精彩久久| 欧美日韩美女视频| 欧美在线不卡区| 亚洲综合日韩在线| 成人在线激情视频| 国产精品久久久久久久久久新婚| 国产精品亚洲综合天堂夜夜| 国产视频自拍一区| 在线视频日本亚洲性| 欧美日韩爱爱视频| 日本成人精品在线| 国产精品美乳在线观看| 成人亚洲综合色就1024| 亚洲无线码在线一区观看| 日韩中文字幕在线看| 亚洲一区二区三区成人在线视频精品| 岛国精品视频在线播放| 成人黄色免费在线观看| 国产精品国模在线| 日韩中文字幕在线观看| 亚洲性生活视频| 色综合天天狠天天透天天伊人| 国产日韩在线视频| 日韩精品视频免费| 欧美成人在线网站| 欧美亚洲伦理www| 欧美天天综合色影久久精品| 欧美激情视频网站| 亚洲视频axxx| 日韩资源在线观看| 热99精品里视频精品| 国产精品三级美女白浆呻吟| 日韩二区三区在线| 国产精品99久久99久久久二8| 国产一区二区美女视频| 福利视频导航一区| 97在线看福利| 亚洲国产成人一区| 国产精品久久久久久亚洲调教| 在线日韩欧美视频| 成人激情视频在线播放| 国产一区二区三区在线视频| 亚洲最大成人网色| 亚洲的天堂在线中文字幕| 日韩精品中文在线观看| 国产亚洲成av人片在线观看桃| 97精品国产91久久久久久| 国产综合在线视频|