在千峰“逆战”学习的第13天

今天学习了MVC的模式详细介绍、JSP的开发模式以及JSTL常用的标签。
继续加油!奥利给!
人生重要的不是所站的位置,而是所朝的方向
中国加油!武汉加油!千锋加油!我自己加油

一、分页

1.1 分页实现思路

对于海量的数据查询,需要多少就取多少,显然是最佳的解决方法。
Select * from 表名 order by id limit 0,20;
Select * from 表名 order by id limit 20,40;
...

pageSize 每页显示多少条记录
pageIndex 当前页数
limit((pageIndex-1)*pageSize,pageSize)

1.2 分页总结

分页的难点是查询之后再带着分页功能
1.默认当用户第一次进来时,就去执行模糊查询,"%%"
2.一定要想办法去解决查询之后田间的展示

二、乱码问题处理

2.1 为什么表单中会产生中文乱码

产生乱码,是因为服务器和客户端沟通的编码不一致造成的。
解决方法:再客户端和服务器之间设置一个统一的编码

2.2 GET中文乱码

tomcat7及以下:
客户端以utf-8编码传输数据到服务器,而服务器的request对象使用ISO889-1这个字符编码接收数据
解决方法:name = new String(name.getBytes("ISO-8859-1"),"utf-8");

2.3 POST乱码

由于客户端是以utf-8字符编码将表单数据传输到服务器端的,因此服务器端也需要设置以utf-8字符编码进行接受
解决方法:setCharacterEncoding("utf-8");

2.4 Servlet输出中文

页面返回乱码问题:
浏览器识别不到返回的中文是什么编码格式,就会默认为GB2312
解决方法:response.setContentType("text/html;charset=UTF-8");
		response.setCharacterEncoding("UTF-8");

三、状态管理-Cookie

3.1 状态管理概述

为什么需要状态管理?
HTTP协议是无状态的,不能保存每次提交的信息,即当服务器返回与请求相应的问答之后,这次事务的所有信息就丢掉了。

什么是状态管理?
Web应用中的会话是指一个客户端浏览器与Web服务器之间连续发生的一系列请求和响应过程

状态管理的两种常见模式
客户端状态管理技术:将状态保存在客户端。代表性技术:Cookie
服务器状态管理技术:将状态保存在服务器端。代表性技术:session

3.2 什么是Cookie

Cookie是在浏览器访问web服务器的某个资源时,由web服务区在http响应消息头中附带传送给浏览器的一小段数据,web服务器传送给各个浏览器的数据可以是各不相同的。

Cookie工作原理:
1.当浏览器第一次发送请求给服务器,服务器会生成一个密钥在内存中保存,并且将密钥通过response响应给浏览器
2.浏览器拿到这个密钥之后,会存储在浏览器本地,这个叫做Cookie
3.当同一个浏览器去访问同一个web服务器时,那么浏览器会去解读访问的url,回去本地找哪一个cookie中存储了url
4.如果找到了,那么它会将cookie封装到这一次的请求的request中,服务器拿到了request就能拿到cookie,cookie有密钥,然后完成比对,得知这两次请求是同一个人。

cookie技术的应用:
1.登录的记住密码
2.购物车

3.3 Cookie的使用

创建Cookie:
Cookie cookie = new Cookie("code",code);

查询Cookie:
Cookie[] cookies = request.getCookies();

修改Cookie
Cookie cookie = new Cookie("code",code);
cookie.setMaxAge(0); >0 为有效时间; =0 为立即失效; <0内存存储,关闭浏览器即为失效


发送Cookie的条件
浏览器在发送请求之前,首先会根据请求url中的域名在cookie列表中找所有与当前域名一样的cookie,然后再根据指定的路径进行匹配,如果当前请求在域名匹配的基础上还与路径匹配,那么就会将所有匹配的cookie发送给服务器

3.4 Cookie的特点

优点:
可配置到期时间
简单性:轻量结构,包含简单的键值对
数据持久性

缺点:
大小受到限制
潜在的安全风险:Cookie可能会被篡改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值