跟学韩老师学习java-servlet篇之二http长短连接、下载文件、no-chache

第14讲
登录成功后,跳转函数
第15讲
http:1.0 http1.1二者称为短连接与长连接,是指时间持续的长与短。短连接发完便结束,而1.1可在结束后持续30s
2.<h1>test</h1><img src="test.file">共分送了2次请求;
3.http格式
请求行、消息头、内容(并不是每次都依此为格式,会有不同的)
Referer:http://www.lll[告诉服务器多伙政敌哪里]
User-agent:Mozilla/4.0我的浏览器内核黄素、、、
Connetction:keep-alive[发完数据后我不关连接]
Date:[浏览器发请求的时间]
第16讲


1。取主机名的方法:String host=request.getHeader("Host");
2。防盗链技术:
//获取用户浏览器的来自哪里信息:referer
String referer=request.getHeader("referer");
if(referer==null){//直接访问,或经过一个超链接来的
//跳转到错误页面
out.println("你是非法盗链者")


reponse.sendRedirect("/servlet/error");
}//我们希望referer的头是!referer.startWhit("http://localhost:8080/servlet")只有以此开头的,才为准
3。http响应细节
状态行:格式:http版本号 状态码 原因
如:HTTP/1.1200 OK
200就是整个请求与响应过程无错误,很正常春藤]]]]
302表示当请求一个资源时,服务器让浏览器转向到另外一个资源部,比如:reponse.setStatus(302);response.setHeader("location:"/servlet/test.)
二此语句行等价于reponse.sendrediecd
404错误找不到原因
500错误,服务器端出现错误了,int 900/0;
response.setHeader("refresh","5;url=http://www.baidu.com");5Sr后转到哪里
Content-disposition:attachment;有文件要下载
5。演示下载文件
response.setHeader("content-Disposition","attachment,filename=");
//打开文件,说明一下web下载文件的原理
String path=this.getServletcontext().getrealPath("/image")//要下载文件的全路径
FileOutInputStream fis=new FileInputStream()path;
//做一个缓冲字节数组
byte buff[]=new byte[1024];
int len=0;
while(len=(fis.read(buff))>0){//
//不要忘了关闭


}
第17讲
主要讲的缓存,以下是举例说明
提出问题:我们的浏览器在默认情况下是缓存面页的,当我们直接用回车的访问时,页面不要有变化的,比如淘宝其首页有2M,有些图片可在缓存中直接读取;故有好处也有不好处。
我们用回车在地址栏中取页面,就是默认在cache中取的。
哪么如何不缓存呢?如股票
代码:共有3个,
response.setDateHeader("Expires",-1);//给ie的
response.setheader("chche-control","no-chache");
response.setheader("pragma","no-chache");
以后,再访问时,页面就不缓存了。此时就是最新的。且没有缓存文件。
2。有些网站要求,只缓存1小时
response.setDateHeader("Expires",system.currenttimeMi.);//给ie的
response.setheader("chche-control","no-chache");
response.setheader("pragma","no-chache");

你可能感兴趣的:(servlet)