重定向 设置状态吗为302  添加响应头Location(告诉他重定向到哪里去)
          //response.setStatus(302);
        //添加响应头Location(告诉他重定向到哪里去)
        //response.setHeader("Location", "http://www.baidu.com");
        //------------------------------------------------------------
        // servlet技术已经提供了一个方法,用来直接重定向.
        response.sendRedirect("http://www.baidu.com");
例子3.响应头 相关的.
            Refresh   "3;http://www.baidu.com"
            <meta http-equiv="Refresh" content="3;http://www.baidu.com" />  ==> 也能完成如上功能,区别只是这是html代码(模拟http协议).不属于http协议范畴.
响应正文相关的
    例子4:向客户端输出中文.
                    字节流:
                        //        1.如何设置服务器端采用什么码表编码
                                //os.write("你好!!".getBytes("UTF-8"));
                        //        2.如何告诉浏览器采用什么码表解码
                                // <meta http-equiv="Content-Type" contet="text/html;charset=utf-8" >
                                // Content-Type: text/html;charset=UTF-8
                    字符流:
                            //要想不乱码只需要取保两端编码一致
                            //1 服务器端编码  默认值是ISO-8859-1
                            response.setCharacterEncoding("UTF-8");
                            //2 浏览器端解码  字符流的获得必须放在设置编码之后. 放在之前的话,writer的编码已经确定了.
                            response.setHeader("Content-Type", "text/html;charset=UTF-8");
                            //writer.print("<meta http-equiv='Content-Type' contet='text/html;charset=UTF-8' >");

OutputStream os = response.getOutputStream();
//设定服务器的编码格式
os.write("打搅电风扇电风扇啊".getBytes());
os.write("打搅电风扇电风扇啊".getBytes("utf-8")); //设定浏览器的 采用什么编码
//<meta http-equiv="Content-type" content="text/html;charset=utf-8">
// response.setHeader("Content-type", "text/html;charset=utf-8");
os.write("<meta http-equiv='Content-Type' contet='text/html;charset=utf-8'>".getBytes());
// 字符流
// 要想不乱吗就
// 1、设定服务器段 默认 ios-8859-1
response.setCharacterEncoding("utf-8");
PrintWriter wr = response.getWriter();
// 2、浏览器段
// response.setHeader("Content-type", "text/html;charset=utf-8");
wr.print("<meta http-equiv='Content-Type' contet='text/html;charset=UTF-8' >"); // wr.write("sdfd悲剧啊可是到了");
wr.print("sdfd悲剧啊可是到了");
服务端返回一个图片的
// 1、告诉浏览器我发送给他的是图片类型的
// 2、读取服务器上的那个图片
// 3、输出那个图片 response.setHeader("Content-Type", "img/jpeg");// mime 类型可以在tomcate
// web.xml 中查找
ServletOutputStream os = response.getOutputStream(); String path = getServletContext().getRealPath("/WEB-INF/1.JPG");
FileInputStream sis = new FileInputStream(path);
int len = 0;
byte[] by = new byte[1024];
while ((len = sis.read(by)) != -1) {
os.write(by, 0, len);
}
sis.close();
// 1、告诉浏览器我发送给他的是图片类型的
// 2、读取服务器上的那个图片
// 3、输出那个图片 response.setHeader("Content-Type", "img/jpeg");// mime 类型可以在tomcate
// web.xml 中查找 //建议使用 什么名字保存的
response.setHeader("Content-Disposition","attachment;filename=aa.jpg"); ServletOutputStream os = response.getOutputStream(); String path = getServletContext().getRealPath("/WEB-INF/22.JPG"); FileInputStream sis = new FileInputStream(path);
int len = 0;
byte[] by = new byte[1024];
while ((len = sis.read(by)) != -1) {
os.write(by, 0, len);
}
sis.close();

String type=getServletContext().getMimeType("xx.jpg");
        response.setHeader("Content-Type", type);// mime 类型可以在tomcate

// web.xml 中查找

servlet 之 response 回复 字节流 字符流的更多相关文章

  1. -1-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流

      File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...

  2. IO流(字节流,字符流,缓冲流)

    一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流   这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图:   二:字符字节 ...

  3. Android笔记:利用InputStream和BufferedReader 进行字节流 字符流处理

    通过socket获取字节流处理时最初使用的是BufferedReader和PrintWriter  这种方式在解析字符串时是比较方便的 但是在处理字节时不够方便最终还是回归到InputStream和O ...

  4. IO 复习字节流字符流拷贝文件

    /* 本地文件 URL 文件拷贝 *//*文本文件拷贝 可以通过 字符流,也可以通过字节流*/ /*二进制文件拷贝 只可以通过字节流*//* 希望这个例子能帮助搞懂 字符流与字节流的区别 */ imp ...

  5. Java之IO流(字节流,字符流)

    IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...

  6. IO—》字节流&字符流

    字节流 一.字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法. FileOutputStre ...

  7. 【C#IO 操作】stream 字节流|字符流 |比特流

    stream的简介 Stream 所有流的抽象基类. 流是字节序列的抽象,例如文件.输入/输出设备.进程中通信管道或 TCP/IP 套接字. Stream类及其派生类提供这些不同类型的输入和输出的一般 ...

  8. java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)

    什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStr ...

  9. http中的filter拦截servlet之后获取body,字符流关闭,无法继续传入控制器

    https://blog.csdn.net/pyxly1314/article/details/51802652

随机推荐

  1. scp 上传文件到多个服务器节点

    参考:scp批量上传文件到多台机器上(升级版) 实测,代码可运行. 1.如果遇到syntax error near unexpected token问题,基本是由于windows环境下编写的shell ...

  2. 高性能JavaScript 编程实践

    前言 最近在翻<高性能JavaScript>这本书(2010年版 丁琛译),感觉可能是因为浏览器引擎的改进或是其他原因,书中有些原本能提高性能的代码在最新的浏览器中已经失效.但是有些章节的 ...

  3. 使用 VS Code 来编辑 markdown 文章

    一开始我就用 VS Code 来编辑 markdown 文本,只是因为 VS Code 用起来感觉很好,然后我又去寻找其他的能够预览 markdown 的编辑器,看了好多都不是很方便.突然我发现 VS ...

  4. js精确加减乘除

    //加法函数function accAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1 ...

  5. php面向对象编程(二)

    现在我们来了解一下面向对象的一个封装性的问题 封装性:在我的理解里面 可以理解为一个u盘 我们使用u盘的接口与电脑进行数据之间的交互 但是我们不能看到里面的结构 这个特性我们可以称为封装性 好处:利用 ...

  6. mysql-批量修改表字段中的某一部分内容

    MySQL批量替换指定字段字符串语句(1)updat 表名 set 字段名=replac(字段名,'原来的内容','替换后的内容') 举一个例子,就是我实际操作的时候的命令: update cpg14 ...

  7. 解决:MIUI 8应用商店下载不了软件 APP

    MIUI 8应用商店下载不了软件,是什么原因呢? 原因是:刷了国际版的MIUI,然后又刷回国内的MIUI,刷机时数据没有清理干净. 解决办法:使用RE管理器或者其他第三方可以编辑系统文件的文件管理器, ...

  8. 5.Android消息推送机制简单例子

    1.首先布局文件xml代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout x ...

  9. ReSharper 配置及用法

    1:安装后,Resharper会用他自己的英文智能提示,替换掉 vs2010的智能提示,所以我们要换回到vs2010的智能提示 2:快捷键.是使用vs2010的快捷键还是使用 Resharper的快捷 ...

  10. 基于Linux平台的libpcap源码分析和优化

    目录 1..... libpcap简介... 1 2..... libpcap捕包过程... 2 2.1        数据包基本捕包流程... 2 2.2        libpcap捕包过程... ...