* 查询: *在首页点击查询:提交到Servlet--调用业务层--调用DAO *将商品列表保存到request域中 *转发到商品列表页面 *在商品列表的页面中显示商品 * 添加: * 在首页点击添加:提交到添加的JSP.在JSP中输入一些信息.提交到Servlet. * 在Servlet中接收参数,封装参数,调用业务层,调用DAO. * 使用令牌机制完成重复提交的问题: * 添加完商品之后,转发到一个页面,刷新该页面. * 网速很慢,点击提交的按钮,其实已经在提交了但是网速慢,不停的点击提交. * 解决重复提交的根本解决办法:令牌机制(一次性). * 生成随机的令牌保存在session中. * 在表单的提交的时候,将随机的令牌放入到表单的隐藏字段中. * 在Servlet中获得session中和表单中的令牌是否一致. * 如果一致执行插入操作,不一致跳转到其他页面.将令牌销毁. * 修改: * 在列表页面中点击编辑:提交到Servlet.查询某个商品.显示到页面. * 在页面中输入一些信息,点击确定.提交到修改的Servlet. * 删除: * 在列表页面中点击删除:提交到Servlet. * 在Servlet中接收id,调用业务层,调用DAO. * 使用JS进行提示. * 分页分类: 物理分页:一次只查10条记录,点击下一页,再去查询后10条.使用SQL语句进行控制的分页. *缺点:经常需要和数据库交互 *缺点:数据量特别大,不会导致内存的溢出 一次性查询所有记录.对记录进行切分. * 逻辑分页:一次性将所有数据全都查询出来,根据需要进行截取.List集合进行控制. subList(); * 缺点:数据量如果特别大,容易导致内存溢出. * 优点:与数据库交互次数少. * SQLServer数据库进行分页: 使用 top 关键字.
|