zoukankan      html  css  js  c++  java
  • 关于Session的另外一个例子

    此例子来源于《轻量级java_EE企业应用与实战struts2_spring3_Hibernate整合开发》

    可以根据这个例子加深session与cookie的理解

    shop.jsp

    <%--
    Created by IntelliJ IDEA.
    User: 无风之浪
    Date: 2018/4/1
    Time: 20:51
    To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
    <title>选择物品购买</title>
    </head>
    <body>
    <form action="processBuy.jsp" method="post">
    书籍:<input type="checkbox" name="item" value="book"><br/>
    电脑:<input type="checkbox" name="item" value="computer"><br/>
    汽车:<input type="checkbox" name="item" value="car"><br/>
    <input type="submit" value="购买">
    </form>
    </body>
    </html>

    processBuy.jsp

    <%@ page import="java.util.Map" %>
    <%@ page import="java.util.HashMap" %><%--
    Created by IntelliJ IDEA.
    User: 无风之浪
    Date: 2018/4/1
    Time: 20:53
    To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%
    //取出session范围的itemMap属性
    Map<String,Integer> itemMap = (Map<String,Integer>)session.getAttribute("itemMap");

    //如果Map对象为空,则初始化Map对象
    if (itemMap==null){
    itemMap = new HashMap<String,Integer>();
    itemMap.put("书籍",0);
    itemMap.put("电脑",0);
    itemMap.put("汽车",0);
    }

    //获取上一个页面的请求参数
    String[] buys = request.getParameterValues("item");
    //遍历数组的各元素
    for (String item:buys){
    if (item.equals("book")){
    int num1 = itemMap.get("书籍").intValue();
    itemMap.put("书籍",num1+1);
    }

    if (item.equals("computer")){
    int num2 = itemMap.get("电脑").intValue();
    itemMap.put("电脑",num2+1);
    }

    if (item.equals("car")){
    int num3 = itemMap.get("汽车").intValue();
    itemMap.put("汽车",num3+1);
    }

    }
    //itemMap对象放到设置成session范围内的itemMap属性
    session.setAttribute("itemMap",itemMap);
    %>
    <html>
    <head>
    <title>new document</title>
    </head>
    <body>
    您所购买的物品:
    <br>
    书籍:<%=itemMap.get("书籍")%>
    <br>
    电脑:<%=itemMap.get("电脑")%>
    <br>
    书籍:<%=itemMap.get("书籍")%>

    <p><a href="shop.jsp">再次购买</a></p>
    </body>
    </html>

    只要浏览器不关闭,购买信息就不会丢失。session范围内的属性可以在多个页面之间共享。

    实验效果:

  • 相关阅读:
    基于fis3的组件可视化道路
    前端性能——监控起步
    uploadify使用的一些经验总结
    浏览器加载和渲染HTML的过程(标准定义的过程以及现代浏览器的优化)
    github常见问题【转自百度知道】
    轮播的实现方式
    前端打包构建工具grunt快速入门(大篇幅完整版)
    一些很棒的js代码
    如何高效的编写Verlog HDL——菜鸟版
    基于FPGA的肤色识别算法实现
  • 原文地址:https://www.cnblogs.com/sunny-daylk/p/8688541.html
Copyright © 2011-2022 走看看