黑马程序员技术交流社区
标题:
【石家庄校区】java小白总结前端第17天的笔记-商品CRUD
[打印本页]
作者:
隔壁小白
时间:
2017-12-14 00:02
标题:
【石家庄校区】java小白总结前端第17天的笔记-商品CRUD
*MVC设计模式:
JSP + Servlet + JavaBean + JDBC
* 重复提交的问题:
* 添加完商品之后,转发到一个页面,刷新该页面.
* 网速很慢,点击提交的按钮,其实已经在提交了但是网速慢,不停的点击提交.
* 解决重复提交的根本解决办法:令牌机制(一次性).
* 生成随机的令牌保存在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
条
.
使用
SQL
语句进行控制的分页
.
*
缺点
:
经常需要和数据库交互
.
*
优点
:
数据量特别大
,
不会导致内存的溢出
.
*
逻辑分页
:
一次性将所有数据全都查询出来
,
根据需要进行截取
.List
集合进行控制
. subList();
*
缺点
:
数据量如果特别大
,
容易导致内存溢出
.
*
优点
:
与数据库交互次数少
.
* 不同的数据库对分页的语句也是不一样的:
* MYSQL
进行分页
:
使用
limit
关键字
.
* select * from xxx where .. Group by ... Having ... Order by ... limit a,b;
* a:
从哪开始
b:
查询的记录数
* begin = (currPage - 1) * pageSize;
*
参数的传递
:
*
前台
--->
后台
:currPage
*
后台
--->
前台
:currPage,totalPage(
总页数
),totalCount(
总记录数
),pageSize,List
集合
.
*
使用
JavaBean
封装参数:
*
后台
--->
前台
:
传递一个
JavaBean
就可以
.
* Oracle
进行分页
:
使用
SQL
语句嵌套
.
* SQL Server
数据库进行分页
:
使用
top
关键字
.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2