A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 g207776411 于 2018-5-27 16:54 编辑

Day20商品的增删改查和分页


Day20  商品的增删改查和商品分页在添加页面中输入信息:点击【提交】提交到Servlet
在Servlet中:
  • 接收数据:
  • 封装数据:
  • 调用业务层:
  • 页面跳转

重复提交的问题:
  • 添加完商品之后,转发到一个页面,刷新该页面.
  • 网速很慢,点击提交的按钮,其实已经在提交了但是网速慢,不停的点击提交.
  • 解决重复提交的根本解决办法:令牌机制(一次性).
  • 生成随机的令牌保存在session中.
  • 在表单的提交的时候,将随机的令牌放入到表单的隐藏字段中.
  • 在Servlet中获得session中和表单中的令牌是否一致.

    • 如果一致执行插入操作,不一致跳转到其他页面.将令牌销毁.


代码实现:
  
  
        // 判断是否是重复提交:
  ​
              String token1 = (String)request.getSession().getAttribute("token");
  ​
              String token2 = request.getParameter("token");
  ​
              // 清空session中的令牌:
  ​
              request.getSession().removeAttribute("token");
  ​
              if(!token2.equals(token1)){
  ​
                  request.setAttribute("msg", "亲!您已经提交过!请不要重复提交了!");
  ​
                  request.getRequestDispatcher("/jsp/msg.jsp").forward(request, response);
  ​
                  return;
  ​
              }
  ​商品分页显示两种分页方式实现物理分页
  • 一次只查10条记录,点击下一页,然后再去查询10条,

    • 缺点 :经常需要和数据库交互,
    • 优点:数量特别大的时候也不会导致内存的溢出


逻辑分页
  • 一次性将所有的数据全部查出,然后每次截取一部分显示

    • 缺点:数据量如果特别大,容易内存溢出
    • 优点:与数据库交互次数少




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马