Servlet (三 Response 对象)

来源:互联网 发布:淘宝富光保温杯 编辑:程序博客网 时间:2024/05/27 02:27

Servlet (三 Response 对象)


设置状态码 :

  • 使用setStatus来设置状态码

设置头信息 :

  • 使用函数SetHeader()即可 :
  • 还有addXXX 和 setXXX方法的的区别 ,

注意add 和 set的区别 :

set 是直接设置 , 会覆盖掉头的value
add 是直接追加数据,追加完毕使用 , 号分割


重定向

  • 使用借钱的理论
  • 访问服务器两次
  • 第二次是自动访问的
  • 地址栏已经发生变换
  • 重定向
    • 状态码 : 302
    • location : 头信息 ====> 表明第二次访问的地址
      代码如下

这里写图片描述


设置定时刷新

  • 使用refresh头 :
    代码的如下

这里写图片描述

设置响应体的信息

  • 1.getWriter().write() :是向response 缓冲区中写入数据 ,
  • 2.Tomcat会从response中拿取数据 , 构成响应体的信息;

解决中文的问题

  • 更换将字符串写入response中使用的字符码表(代码如下)
  • 客户端默认的编码是本地编码 ,还需要设置客户端需要的字符表(代码演示如下)
  • 其实只用设置客户端的编码表 , Tomcat会将写入response的编码表进行同样的转换

这里写图片描述


文件下载

  • 下载 : 直接通过a标签指向某个文件即可浏览器不能解析的文件下载 ,可以解析就直接使用解析工具直接解析

  • 一般情况下 :浏览器可以解析的才需要写下载代码 , 让浏览器不能解析才对

代码演示如下(文件下载)
这里写图片描述


response的细节点

1) response 获得的流不需要自己关闭 ,GET方法执行完毕,Tomcat会帮助你关闭的

2) getWriter() 和 getOutpusStream() 不能同时调用 ;

演示代码如下
这里写图片描述

结果如下
这里写图片描述

3) response 默认的缓冲区大小是 8k ,其自己可以扩容,无需理会大小问题

4) 如果Servlet中有重定向的代码 , 请确保该代码后面没有其他的代码了 .


原创粉丝点击