今天学习了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可能会被篡改