servlet 之 response 回复 字节流 字符流
重定向 设置状态吗为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-4 java io java流 常用流 分类 File类 文件 字节流 字符流 缓冲流 内存操作流 合并序列流
File类 •文件和目录路径名的抽象表示形式 构造方法 •public File(String pathname) •public File(String parent,Stringchild) ...
- IO流(字节流,字符流,缓冲流)
一:IO流的分类(组织架构) 根据处理数据类型的不同分为:字节流和字符流 根据数据流向不同分为:输入流和输出流 这么庞大的体系里面,常用的就那么几个,我们把它们抽取出来,如下图: 二:字符字节 ...
- Android笔记:利用InputStream和BufferedReader 进行字节流 字符流处理
通过socket获取字节流处理时最初使用的是BufferedReader和PrintWriter 这种方式在解析字符串时是比较方便的 但是在处理字节时不够方便最终还是回归到InputStream和O ...
- IO 复习字节流字符流拷贝文件
/* 本地文件 URL 文件拷贝 *//*文本文件拷贝 可以通过 字符流,也可以通过字节流*/ /*二进制文件拷贝 只可以通过字节流*//* 希望这个例子能帮助搞懂 字符流与字节流的区别 */ imp ...
- Java之IO流(字节流,字符流)
IO流和Properties IO流 IO流是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键, 因而所有 I/O 的主体实际上是内置在操作系统中的.单独的 ...
- IO—》字节流&字符流
字节流 一.字节输出流OutputStream OutputStream此抽象类,是表示输出字节流的所有类的超类.操作的数据都是字节,定义了输出字节流的基本共性功能方法. FileOutputStre ...
- 【C#IO 操作】stream 字节流|字符流 |比特流
stream的简介 Stream 所有流的抽象基类. 流是字节序列的抽象,例如文件.输入/输出设备.进程中通信管道或 TCP/IP 套接字. Stream类及其派生类提供这些不同类型的输入和输出的一般 ...
- java 输入输出IO流 字节流| 字符流 的缓冲流:BufferedInputStream;BufferedOutputStream;BufferedReader(Reader in);BufferedWriter(Writer out)
什么是缓冲流: 缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率. 图解: 1.字节缓冲流BufferedInputStr ...
- http中的filter拦截servlet之后获取body,字符流关闭,无法继续传入控制器
https://blog.csdn.net/pyxly1314/article/details/51802652
随机推荐
- flask+sqlite3+echarts3+ajax 异步数据加载
结构: /www | |-- /static |....|-- jquery-3.1.1.js |....|-- echarts.js(echarts3是单文件!!) | |-- /templates ...
- Js前端代码异常监控
window.onerror = function(msg,url,line,col,error){ //没有URL不上报!上报也不知道错误 if (msg != "Script error ...
- web响应式图片设计实现
.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { t ...
- Chrome-Console( Command Line API Reference)
来源于:https://developers.google.com/web/tools/chrome-devtools/console/command-line-reference The Comma ...
- iOS学习-KVO设计模式
KVO 即Key-Value Observing 键-值观察的缩写,简单的说就是通过键来观察一个对象属性值的变化.当这个被观察的属性发生变化时,观察者就会收到通知(观察者可以是这个对象本身,也可以是 ...
- [fiddler] 手机抓包
最近工作涉及到与原生app联调,需要抓取手机上的请求.借此机会研究了下fiddler,简直神器. 以下简单介绍通过fiddler进行手机抓包的方法,之后也会陆续更新fiddler的其他功能 设置fid ...
- Mysql主从配置,实现读写分离
大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...
- HTML5利用link标签的rel=import引入html页面
如果是以前,我们可以使用iframe去引入,现在可以是这样的形式:<link rel="import" href="a.html" id="tm ...
- 对前端的一个H5项目的所思所想
最近接触一个前端HTML5的项目,虽然我主做iOS,但曾经也徒手用html+css+js+php写过一个博客,当然表示无压力了.结果.现在的前端发展的速度真是快啊,项目中用到Jquery,reactJ ...
- Alpha阶段测试报告
测试说明 APP中前后端交互的接口主要有两种,一种是游戏开始前获取信息的HTTP请求接口,这种接口可以看成是静态的,比较简单:另外一种就是游戏过程中进行实时通信的Websocket请求接口,因为这是在 ...