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 中查找

上一篇:Asp.NET MVC JSON序列化问题


下一篇:Sphinx安装配置应用