javaweb笔记6多个响应头以及 HttpServletResponse对象
1 常见的响应头
Location: http://www.it315.org/index.jsp 重定向的地址。配合302的状态码一起使用,实现重定向效果。
Content-Type: text/html; charset=GB2312 服务器发送内容的数据类型及编码格式
Refresh: 1;url=http://www.it315.org 隔n秒之后跳转到另一个页面 / 每隔n秒刷新当前页面
Content-Disposition: attachment; filename=aaa.zip 告诉浏览器以下载的方式打开文件
2 HttpServletResponse对象
通过HttpServletResponse对象方法设置响应信息
响应头
设置响应头:
response.setHeader("响应头名称" ,"响应头的值");
实体内容
response.getWriter(); 向浏览器输出字符数据
response.getOutputStream(); 向浏览器输出字节数据
4
public class ResponseDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//状态行
//状态码
//response.setStatus(404); //发送404 状态码
//response.sendError(404); //发送404 状态码 + 404 错误页面内容
//response.sendError(500);
/**
* 302+location = 重定向(跳转到另一个资源)
*/
/*
response.setStatus(302);//设置302的状态码
//响应头
/************重定向***************/
//response.setHeader("location", "/day09/testParam.html"); //设置location响应头
/*重定向的简写方法*/
//response.sendRedirect("/day09/testParam.html");
/*************定时刷新******************/
//response.setHeader("refresh","1"); //每隔1秒刷新请求
//response.setHeader("refresh", "3;url=/day09/adv.html"); //3秒之后,跳转到 /day09/adv.html
//response.setHeader("content-type", "image/jpg"); //设置服务器发送给浏览器的数据内容的格式
/*设置content-type的简写形式*/
/*设置浏览器打开数据的编码*/
response.setContentType("text/html;charset=utf-8");
//设置数据内容输出的编码
response.setCharacterEncoding("utf-8");
// 实体内容(服务器发送给浏览器的数据内容)
PrintWriter writer = response.getWriter(); // 用于向浏览器输出字符数据。 html / xml / text
//OutputStream out = response.getOutputStream(); //用于向浏览器输出字节数据。 images / vedio / 文档文件(zip/rar)
writer.write("<html><head><title>this is title</title></head><body>传智播客</body></html>");
//writer.write("<student><name>eric</name><age>18</age></student>");
/*************以下载方式打开文件*****************/
/*
response.setHeader("Content-Disposition", "attachment; filename=aaa.jpg");
/**************把字节文件(图片)发送到浏览器***************************/
//把图片内容发送给浏览器
//1.读取到图片内容
/*
InputStream in = new FileInputStream("e:/testImg.jpg");
//2.把图片数据发送到浏览器
OutputStream out = response.getOutputStream();
byte[] buf = new byte[1024];
int len = 0;
while( (len=in.read(buf))!=-1 ){
out.write(buf,0,len);
}
//3.关闭资源
in.close();
*/
}
}
javaweb笔记6多个响应头以及 HttpServletResponse对象的更多相关文章
- HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
HttpServletResponse 和 ServletResponse 都是接口 具体的类型对象是由Servlet容器传递过来 ServletResponse对象的功能分为以下四种: ...
- HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
原文地址:HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码 HttpServletRespo ...
- [原创]java WEB学习笔记14:JSP的9 个隐含对象 及 JSP 的基本语法
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Javaweb学习笔记——(十)——————response对象,response字符流缓冲器,响应头,状态码,重定向,requset对象,路径和乱码
请求响应对象: request和response *当服务器接收都请求后,服务器会创建request和response对象,把请求数据封装到request对象中: *然后调用Servlet的sevic ...
- JavaWeb学习记录(一)——response响应头之缓存设置与下载功能的实现
一.HTTP中常用响应头 Location: http://www.it315.org/index.jsp Server:apache tomcat Content-Encoding: gzip Co ...
- javaweb(四)——Http协议(请求头,响应头详解)
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
- Python Requests-学习笔记(6)-响应头
响应头 我们可以查看以一个Python字典形式展示的服务器响应头: import requestsurl = 'http://httpbin.org/post'r = requests.get(url ...
- JAVAWEB项目报"xxx响应头缺失“漏洞处理方案
新增一个拦截器,在拦截器doFilter()方法增加以下代码 public void doFilter(ServletRequest request, ServletResponse response ...
- javaweb笔记一
内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现 外连接: 包括 (1)左外连接(左边的表不加限制) (2)右外连接(右边的表不加限制) (3)全外连接(左右两表都不加限制 一个空的构造器 ...
随机推荐
- jQuery 對table的基本操作
一.鼠标移动到行更换背景色: css样式: .hover{ background-color: #cccc00; } Js脚本: $(document).ready(function () { //鼠 ...
- ulimit -n修改单进程可打开最大文件数目
对所有用户都生效: vi /etc/profile 添加一行如下: ulimit -n 65535 执行source /etc/profile生效,不需要重启服务器. $ source /etc/pr ...
- Linux 机器之间建立互信
原理: 就是两台机器(web-1和web-2)经过预先设置好经过认证的key文件,双方互相访问时,进行自动认证,从而实现互信. 互信的原理了解了,我们可以把配置ssh互信的步骤进行有效的分割. 1 ...
- javascript:运动框架
function startMove(obj,json,fnEnd) { clearInterval(obj.timer);//清除定时器 obj.timer=setInterval(function ...
- Windows系统创建硬链接文件
源文件夹:E:\深海 创建新硬链接文件夹:D:\微云同步盘\719179409\4-工作资料\深海 打开命令提示符(管理员) 敲入以下命令: 创建成功后,进入目录 D:\微云同步盘\71917 ...
- myeclipse 8.5打开文件Could not open the editor: Invalid thread access 异常
最近打开了一个好久没用的myeclipse 8.5下的工作区间,导入一个项目,想打开文件编辑提示Could not open the editor: Invalid thread access
- react-native迁移版本遇到的问题
问题: 1. failed to find Build Tools revision 23.0.1 两个版本号需要对应
- noip201506 Message 信息传递
试题描述: 有 n 个同学(编号为 1 到 n )正在玩一个信息传递的游戏.在游戏里每人都有一个固定的信息传递对象,其中,编号为 i 的同学的信息传递对象是编号为 T_i 的同学.游戏开始时,每人都只 ...
- [转]C++宏定义详解
一.#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质 ...
- Python学习笔记整理(十)Python的if测试
if语句是选取要执行的操作. 一.if语句 1.通用格式 形式是if测试,后面跟着一个或多个可选的elif(else if)测试,以及一个最终选用的else块.测试和else部分可以结合嵌套语句块,缩 ...