JavaEE中的Response

  • response的功能
  • 重定向
  • 重定向和转发的区别
  • 响应字符流数据
  • 响应字节流数据


response的功能

1.设置状态码 response.setStatus();
2.设置响应头 response.setHeader();
3.设置响应体:
字符流响应体:response.getWriter().write(“字符 数据”);
字节流响应体:response.getOutputStream().write();

重定向

有两种方式:

java重定向带Cookie传过去之后但没有登录 javaee重定向_数据


两种方式的实际应用:

方式1:

java重定向带Cookie传过去之后但没有登录 javaee重定向_字节流_02


这里重定向的目标为百度

方式2:

java重定向带Cookie传过去之后但没有登录 javaee重定向_重定向_03

重定向的目标为csdn博客网,这种方式的书写要更简介一点

重定向和转发的区别

那么,重定向是实现跳转的,转发也是,二者的区别就在于:

java重定向带Cookie传过去之后但没有登录 javaee重定向_重定向_04

响应字符流数据

一般格式为:

response.getWriter().write(“字符串”);

实例:

java重定向带Cookie传过去之后但没有登录 javaee重定向_java_05


这里面第一行是设置编码格式,如果没有这一行,就可能会有乱码情况,我在第一次写这一个功能的时候就出现了乱码问题,如下图,显示一堆问号

java重定向带Cookie传过去之后但没有登录 javaee重定向_java_06


setContentType()里面的编码格式我们可以在index.jsp文件的第一行找到

java重定向带Cookie传过去之后但没有登录 javaee重定向_数据_07

响应字节流数据

以图片为例,响应字节流数据一般我们分三步走:
1.获取字节输入流读取图片
2.获取字节输出流响应图片
3.将输入流和输出流对接

响应字节流数据的三种方法:

方法1:通过绝对路径来获取图片

java重定向带Cookie传过去之后但没有登录 javaee重定向_java_08


在第三步将两个流对接的时候我们采用了while循环方式,读一个字节写一个字节,知道数据读完,int 一个i去接收is.read()的返回值,所以如果响应的图片比较大,运行的时候我们可以发现图片像瀑布一样从上到下显示方法2:通过相对路径获取图片(当你的项目部署在另一台服务器上的时 候,图片的绝对路径就会发生改变,所以我们可以使用相对路径来获取图片)

java重定向带Cookie传过去之后但没有登录 javaee重定向_数据_09


先获取图片的相对路径,再通过相对路径读取图片方法3:通过导入外部jar包来实现两个流的对接

java重定向带Cookie传过去之后但没有登录 javaee重定向_java_10


导入commons-io-2.6.jar,使用jar包里面IOUtils工具类中的copy方法实现流的对接,实现高效传输。

好了,关于Response对象就介绍到这里了,如有其他问题,请各位大佬多多指点