使用servlet处理HTTP响应

来源:互联网 发布:淘宝卖家折扣设置 编辑:程序博客网 时间:2024/05/17 04:32
  

1.解释http协议中包含哪几部份。­

状态行:放的是协议/版本   状态码描述­

响应头:键:值­

空行­

内容:消息体­

2.解释状态行的作用,有哪些常见的状态码,分别代表什么含义。­

状态行作用在Servlet中设置状态码来实现许多重要功能.­

状态码:­

202:一切正常;­

302:资源已经移走,指示新地址;­

404:找不到资源­

405:请求不允许访问­

500:服务内部错误­

3.解释常见的响应头及作用。­

如Content-Type(MIME)­

text/html:传输的是文本文件以HTML格式打开­

appLiction/vnd.ms-excel:文件下载以EXCEL格式打开­

appliction/octet-Stream:文件下载保存客户端­

image/gif:图片传输以GIF打开­

video/mpeg:视频传输以MPEG打开­

4.response对象如何操作响应的状态行?响应头?响应内容。­

用setStatus()方法设置状态码­

setHeader用一个给定的名称和字符创值设置响应头的通用方式­

setContentType用于设置返回给客户端内容的MIME类型­

addCookie用于向Set-Cookie报头插入一个Cookie­

getWriter()或者getOutputStream()方法,获取输出流写入响应内容­

­

4.response对象如何操作响应的状态行?响应头?响应内容。­

­

状态行:­

    response.setStauts(int)方法­

响应头:­

    response.setHeader(String name,Stringvalue)在response中添加一个给定的名称和字符串值的响应头­

  response.setContentType(Stringminetype)用于设置返回给客户端内容的MIME类型­

响应内容:­

   1.PrintWriter pw = newPrintWriter();只能用于发送文本­

  2.response.getOutputStream();通常用于发送非文本的二进制信息,可用于写原始字节­

­

5.分别用servlet完成重定向,自动页面刷新,自动页面跳转。­

重定向:­

    reponse.setStatus(302);­

    reponse.setHeader("Location","add.html");­

自动页面刷新:­

    reponse.setHeader("Refresh", "1");­

自动页面跳转:­

    reponse.setHeader("Refresh","5;url=add.html");­

­

6.写出例子代码,分别向客户端输出excel,word,图片,普通文件下载。­

­

普通文件下载:­

  ­

­

word:­

  reponse.setContentType("application/msword");­

­

图片:­

    reponse.setContentType("content-type","image/gif");­

  ­

   OutputStream output =reponse.getOutputStream();­

   FileInputStream fis = newFileInputStream(path);­

  ­

   byte[] myis = newbyte[1024];­

   while(fis.read(myis) !=-1){­

  output.write(myis);­

  }­

  output.flush();­

  ­

excel:­

  reponse.setContentType("application/vnd.ms-excel");­