首页 > 编程语言 > 详细

JavaWeb14-HTML篇笔记(二)

时间:2018-05-31 11:17:02      阅读:337      评论:0      收藏:0      [点我收藏+]
1.1.1.1 商品的查询的功能:
在首页上点击【查询所有商品】链接:
提交到Servlet中:

  • 调用业务层-->调用DAO:
  • 将商品列表保存到request域中:
  • 转发到商品列表页面:
    在商品列表的页面中显示商品:
    1.1.1.2 商品的添加的功能:
    在首页点击【添加】链接:跳转到添加页面.
    在添加页面中输入信息:点击【提交】提交到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;
      }
      1.1.1.3 商品的信息的修改:
      在列表页面上点击【修改】链接:
      提交到Servlet:根据id查询该商品.将商品的信息显示到修改页面:
      在修改的页面上修改数据,点击【提交】按钮:
      提交到Servlet:完成商品信息的修改:
      1.1.1.4 商品的信息的删除:
      在列表页面上点击【删除】链接:
      提交到Servlet:
      调用业务层完成删除的操作:
      ***** 扩展删除多条记录:
      1.1.1.5 商品模糊查询:
      1.1.1.6 商品分页显示:
      分页条: 【首页】【上一页】[1][2][3][4]【下一页】【尾页】
      分页功能的实现:
    • 物理分页:一次只查10条记录,点击下一页,再去查询后10条.使用SQL语句进行控制的分页.
  • 缺点:经常需要和数据库交互.
  • 优点:数据量特别大,不会导致内存的溢出.
    • 逻辑分页:一次性将所有数据全都查询出来,根据需要进行截取.List集合进行控制. subList();
  • 缺点:数据量如果特别大,容易导致内存溢出.
  • 优点:与数据库交互次数少.
    • 不同的数据库对分页的语句也是不一样的:
  • MYSQL进行分页: 使用limit关键字.
    • select * from xxx where .. Group by ... Having ... Order by ... limit a,b; -- a:从哪开始 b:查询的记录数.
    • 根据页数计算 limit后面的两个参数:
      • currPage begin pageSize
        1 0 10
        2 10 10
        3 20 10
        • begin = (currPage - 1) * pageSize;
  • 参数的传递:
    • 前台--->后台:currPage
    • 后台--->前台:currPage,totalPage(总页数),totalCount(总记录数),pageSize,List集合.
  • 使用JavaBean封装参数:
    • 后台--->前台:传递一个JavaBean就可以.
  • Oracle进行分页: 使用SQL语句嵌套.
  • SQL Server数据库进行分页: 使用 top 关键字.
    • 在首页上添加一个分页查询的链接:

JavaWeb14-HTML篇笔记(二)

原文:http://blog.51cto.com/13517854/2122344

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!