java中sesion
生活随笔
收集整理的這篇文章主要介紹了
java中sesion
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Session *Cookie基于客戶端,不安全,并且大小和個數的限制。 *Session域對象,范圍一次會話范圍,存個人相關的數據。 *setAttribute(String name,Object value); *Object getAttribute(String name); *String getId() 獲取session的唯一的ID. * void invalidate()? ?銷毀session Session(*****) session的追蹤 通過jsessionid=''在url中傳送到服務器, session的創建和銷毀 第一次訪問時 request.getSession(),創建session 銷毀: 1,非正常關閉服務器 2.sesion的過期,默認30分鐘 <session-config> <session-timeout>30</session-timeout> <session-config> 3.通過調用session.invalidate()? 手動銷毀session Servlet中這樣處理頁面的加入購物車請求 // 獲取請求參數 ???????????String id = request.getParameter( "id"); ???????????String[] names = new String[] { "手電筒", "電話" , "電視" , "冰箱" , "手表" }; ??????????? // 把id翻譯成名稱 ??????????? int idx = Integer. parseInt(id); ???????????String name = names[idx - 1]; ??????????? // 從Session中獲取購物車,先獲取session ???????????HttpSession session = request.getSession(); ??????????? // 獲取購物車 ???????????Map<String, Integer> cart = (Map<String, Integer>) session ?????????????????????.getAttribute( "cart"); ??????????? // 通過cart來判斷是否是第一次訪問 ??????????? if (cart == null) { ????????????????cart = new HashMap<String, Integer>(); ????????????????cart.put(name, 1); ????????????????session.setAttribute( "cart", cart); ? ???????????} else { ???????????????? // 不是第一次訪問;判斷是否包含該商品 ???????????????? if (cart.containsKey(name)) { ? ????????????????????? // 取取數量 加一 ?????????????????????Integer count = cart.get(name); ?????????????????????count++; ?????????????????????cart.put(name, count); ????????????????????? // 再保存到session中; ?????????????????????session.setAttribute( "cart", cart); ????????????????} else { ????????????????????? // 不包含 ?????????????????????cart.put(name, 1); ?????????????????????session.setAttribute( "cart", cart); ????????????????} ???????????} ??????????? // 繼續購物,去結算 ???????????response.setContentType( "text/html;charset=UTF-8"); ???????????response.getWriter() ?????????????????????.write( "<h3><a href='/JSP/session/CartList.jsp'>繼續購物</a></h3> <h3><a href='/JSP/session/Pay.jsp'>去結算</a></h3>"); 結算頁面這樣寫 <% //獲取購物車 Map<String,Integer> cart=(Map<String,Integer>)request.getSession().getAttribute("cart") ; ? if(cart!=null ){ //循環遍歷 Set<String>keys=cart.keySet(); //循環keys,拿到商品的名稱 for(String key:keys) { %> <h2> 親,您購買的商品是: <%=key %>,數量為: <%=cart.get(key) %></h2 > ? <% } } else{ %> ? <h3> 親,您還沒有購買任何商品,請您去 <a href ='CartList.jsp'>敗家</ a></ h3> <% } ? ?%>
轉載于:https://www.cnblogs.com/haofaner/p/5632109.html
總結
以上是生活随笔為你收集整理的java中sesion的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 递归和迭代路由_静态路由在以太网接口中的
- 下一篇: 视觉SLAM十四讲学习笔记-第五讲-图像