HttpServletResponse对象是封装服务器端的响应信息,响应消息是由response对象传递给web服务器的,再由web服务器发送给客户端。
一、构建响应信息:
1.构建响应信息:
方式一:response.setHeader("Content-type","test/html;charset=utf-8");
方式二:response.setContentType("text/html;charset=utf-8");
2.构建响应实体:
方式一:response.getOutputStream().write("***".getBytes());
这是一个字节流,是什么字节输出什么字节,而浏览器默认用平台字节码打开服务器发送的数据,如果服务器端使用了非平台码去输出字符的字节数据就需要明确的
指定浏览器编码时所用的码表,以防止乱码问题。response.addHeader("Content-type","text/html;charset=utf-8")/response.setContentType("text/html;charset=utf-8");
方式二:response.getWriter().write("***")
这是一个字符流,response会将此字符进行转码操作后输出到浏览器,这个过程默认使用ISO8859-1码表,而ISO8859-1中没有中文,于是转码过程中用?代替了中文,
导致乱码问题。可以指定response在转码过程中使用的目标码表,防止乱码。
response.addHeader("Content-type","text/html;charset=utf-8")/response.setContentType("text/html;char
set=utf-8");
二、其他API方法介绍
1.利用Response设置content-disposition头实现文件下载;
设置响应头content-disposition为“attachment;filename=xxx.xxx”;
利用流将文件读取进来,再利用Response获取响应流输出;
如果文件名为中,一定要进行URL编码,编码所用的码表一定要是utf-8。
2.refresh头控制定时刷新
设置响应头Refresh为一个数值,指定多少秒后刷新当前页面;
设置响应头Refresh为3;url=/jjyy04/index.jsp,指定多少秒后刷新到哪个页面;
可以用来实现注册后“注册成功,3秒后跳转到主页”的功能。
在HTML可以利用<metahttp-equiv=""content="">标签模拟响应头的功能。
3.利用response设置expires、Cache-Control、Pragma实现浏览器是否缓存资源
不需要缓存:
expires=0/-1
Cache-Contro=no-cache
Pragma=no-cache
4.Response实现请求重定向
方式一:response.setStatus(302);response.addHeader("Location","URL");
方式二:response.sendRedirect("URL");
三、Response注意的内容
1.对于一次请求,Response的getOutputStream方法和getWriter方法是互斥,只能调用其一,特别注意forward后也不要违反这一规则(比如:一个页面getOutputStream()
,forward到另外的一个页面之后调用getWriter());
2.利用Response输出数据的时候,并不是直接将数据写给浏览器,而是写到了Response的缓冲区中,等到整个service方法返回后,由服务器拿出response中的信息组
成HTTP响应消息返回给浏览器。
3.service方法返回后,服务器会自己检查Response获取的OutputStream或者Writer是否关闭,如果没有关闭,服务器自动帮你关闭,一般情况下不要自己关闭这两个
流。
分享到:
相关推荐
本文将深入探讨这些技术,帮助开发者温故知新,理解它们的功能、工作原理以及如何在实际项目中应用。 ### JSP(JavaServer Pages) JSP是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,以实现动态内容...
行业报告“温故知新,从4G看5G”为我们揭示了移动通信技术从4G到5G的演进历程、技术变革及其对社会经济的深远影响。这份报告深入探讨了5G的关键特性,包括超高速率、低延迟、大规模连接以及网络切片等,这些都是5G...
通信行业:温故知新,从4G看5G-1202-中信建投-12页.pdf
ZYNQ7100,PL 纯逻辑,简单入门 FPGA LED 例程 工程对应的视频教程(1.1 ZYNQ学习分享-温故知新-PL-led):https://www.ixigua.com/6878303436048335371/
5. 词语运用与辨析:试题中有词语运用的选择题,如“不亦乐乎”、“温故知新”、“学而不厌”等成语的正确使用,以及词语的近义词辨析,如形容力量巨大的词语填写。 6. 排比句的创作:要求学生模仿例句,创造具有...
农林牧渔行业专题研究:温故知新,复盘上两轮生猪疫情影响-0213-广发证券-17页.pdf
- **目的:**回顾已学内容,温故知新。 - **实施步骤:** - 教师提问,引导学生回忆上节课所学知识点。 - 学生讨论交流,分享学习成果。 **二、品悟课文第二部分** - **目的:**通过具体情节的分析,加深对肖邦...
代理模式允许我们在不修改原有对象的情况下,为对象增加额外的功能。在Spring AOP中,我们可以创建一个`SpeakerProxy`代理类,它实现了`ISpeaker`接口,并持有真实对象的引用。在代理类的`say()`方法中,我们可以在...
工业机器人是现代制造业中不可或缺的重要组成部分,其发展水平是衡量一个国家制造业自动化、智能化程度的重要标志。本文档探讨了工业机器人在汽车行业中的应用,并结合美国汽车行业历史上的“2mm工程”,分析了工业...
本教案是针对陕旅版小学六年级下册英语Unit 3 "Who's That Man?"的第二课时教学设计,旨在帮助学生掌握一系列关键短语和句型,提升他们的英语对话能力,同时注重对过去式的学习与应用。 【教学目标】 1. 学习并...
纺织服装行业“温故知新”系列之百丽复盘:渠道为王铸就龙头,改革初见成效 纺织服装行业是一个复杂且多样化的行业,涉及到多个领域,如女鞋、运动、服饰等。百丽作为行业龙头,凭借“多品牌+快速渠道扩张+强供应链...
C#是一种面向对象的编程语言,是ASP.NET开发的主要语言之一,以其简洁、类型安全和高性能著称。在这个“温故知新ASP.NET 2.0(C#)”的学习资源中,我们将深入探讨ASP.NET 2.0的关键特性和C#的编程技巧。 首先,ASP...
- 确定辅导对象:帮助他人学习也能提升自身能力。 - 课前预习:找出学习难点,提高课堂学习效率。 - 课堂专注:专心听讲,做好笔记,积极参与课堂活动。 - 课后复习:巩固知识,定期回顾,温故知新。 - 时间...
- **回顾上文,引入新课**:复习上一课时学习的内容,温故知新。 - **自由读文,整体感知**:学生再次自由朗读课文,理解后续情节。 - **感悟文本,读好课文**: - 讨论故事中的趣味点。 - 引导学生划出感兴趣...
这篇文档是关于湘教版小学六年级上册语文教案,主要讲解了《论语》四则的教学内容。《论语》是中国古代儒家经典之一,记录了孔子及其弟子的言行,蕴含着丰富的哲学思想和教育理念。 教学目标主要包括: 1. 学习和...
【国债期货1903合约回顾与总结】 本报告聚焦于国债期货1903合约的回顾与总结,旨在分析其价格变化、策略表现,并从中提取经验教训,以供投资者参考。国债期货作为金融市场的重要风险管理工具,对于固定收益市场的...
这篇《真理诞生于一百个问号之后》是小学六年级下册的一篇课文,旨在培养学生的语文素养和科学探索精神。教学目标包括以下几点: 1. 学生需要掌握“澡、械”等5个生字,并能正确书写“诞生、锲而不舍”等词汇,提升...
这篇报告主要讨论的是新股首日涨幅的预测模型和卖出策略,尤其关注科创板的背景下,投资机构如何制定有效的投资策略。报告指出,科创板的发行制度和交易规则与2009年至2012年的主板市场有诸多相似之处,当时新股的卖...