通过观看房老师的教学视频,自己做了一些笔记。
1、response 向客户机输出数据。
2、字节流(outputStream)可以输出任何的数据,而字符流(writer)只能写字符数据
3、respone.setHeader("Content-type","text/html;charset=UTF-8"); //控制浏览器,指定编码是UTF-8
上面语句等同于:response.setCharacterEncoding("UTF-8"); //控制response以什么样的编码形式在浏览器端输出
4、在servlet里面取资源的时候用servletContext来操作,如果是其它的程序来操作servlet中是资源时通过类加载器来操作
5、如果下载文件时中文文件,则文件名需要经过URL编码,URLEncoder.encode(fiename,"UTF-8");
6、刷新按钮:①不管浏览器中有没有缓存,都向服务器请求
②刷新按钮将上次请求再操作一次
7、控制浏览器定时刷新:response.setHeader("refresh","3;url="路径"");//3秒钟后跳转
8、设置缓存:response.setDateHeader("expires",system.CurrentTimeMillis()+1000*3600);//缓存有效时间一个小时
9、请求重定向:①response.setStatus(302);//告诉请求方自己所处的状态 response.setHeader("location","路径");
或者②response.sendRedirect("路径");
用到请求重定向的情况:刚刚登陆页面的时候或购物车功能模块
重定向的特点;
①浏览器会向服务器发送两次请求,意味着两次request/response
②用重定向技术,浏览器地址会发生变化
③用户登陆和显示购物车时通常会用到重定向技术
10、response.getOutpuStream();和response.getWriter();不能够同时使用在一次servlet请求中。