文档章节

跟小博老师一起学Servlet ——Servlet之HttpServletResponse

博为峰教研组
 博为峰教研组
发布于 2017/02/15 19:15
字数 407
阅读 7
收藏 0

通过前面的学习,我们知道请求到达容器后容器会创建HttpServletRequest实例,并将请求的信息保存到实例中。在创建请求实例的同时容器也会创建HttpServletResponse实例,以便我们向客户端做出响应。

HttpServletResponse

HttpServletResponse是一个接口,它由容器负责实现和创建实例。它作为Servlet的服务器方法(doGet、doPost、doDelete)的参数之一,用来向客户端返回消息或指示浏览器设定cookie等操作。

用方法

getWriter

取得应答流对象

setContentType

设定返回的MIME格式

encodeURL

对URL重编码使其带上SESSIONID

addCookie

指示浏览器写入的cookie对象

 

演示

以下代码向浏览器返回一段标准HTML

中文乱码

如果你将上面的代码照搬到项目,你就会发现答应消息中的中文又变成了乱码。原因是以上的代码还没告诉浏览器返回是什么类型的内容,浏览器按默认编码的方式进行了解析。解决方法也很简单,应答前指定MIME格式并指定编码方式即可。

 

思考

现在的网页有成百上千行代码,如采用演示代码的方式来应答,估计会让人崩溃。为提高编程效率,继Servlet之后产生了JSP技术,它可以很好的解决此类问题。JSP本质上就是Servlet,它对servlet进行了包装降低编程难度,但夯实Servlet知识对学习JSP百利而无一害。

© 著作权归作者所有

共有 人打赏支持
博为峰教研组
粉丝 50
博文 1224
码字总数 479077
作品 0
黄浦
程序员
私信 提问
图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket “眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹...

泥沙砖瓦浆木匠
2015/08/21
0
50
tomcat 表单提交没反应

HelloWorldSerlet.java 代码: import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.s......

进击的拖拉机
2014/11/16
587
4
图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket “眨眼间,离上一篇写技术博文时隔1个月。怕自己真的生疏了,都是备案太慢惹...

KeepMoving
2015/08/25
0
0
The requested resource is not available

package com.demo; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet......

sunny冰青
2015/02/01
1K
1
图解 & 深入浅出 JavaWeb:Servlet 再说几句

Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket 上一篇的《 Servlet必会必知 》受到大家一致好评 — (感谢 读者 及 OSC 推荐...

泥沙砖瓦浆木匠
2015/09/03
0
13

没有更多内容

加载失败,请刷新页面

加载更多

用Redis实现“秒杀”系统

导论 曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。 秒杀系统的架构设计 秒杀系统,是典型...

小刀爱编程
3分钟前
0
0
GO redis 相关操作

在gopath 目录下安装 go get github.com/garyburd/redigo/redis package mainimport ("fmt""github.com/garyburd/redigo/redis")//定义一个全局链接池变量var pool *redis.Pool//......

汤汤圆圆
40分钟前
9
0
java8性特性,常用的lambda表达式

1、抽取多个对象中的某个属性,用数组接收 List<Student> students = new ArrayList<>(); List<String> names =students.stream().map(Student::getName).collect(Collectors.toList()); 2、......

Boss-x
41分钟前
11
0
flutter 子组件与父组件

无论是子组件还是父组件,任何时候initState()只执行一次,如果需要判断 就在build里面进行,不然无效的。

大灰狼wow
43分钟前
4
0
Rancher Labs引入全球首个多集群、多租户的Prometheus支持!

近日,Rancher Labs宣布加强对Prometheus的支持,提高Kubernetes集群的可见度。Rancher也因此成为唯一一个在多集群、多租户环境中支持Prometheus的解决方案。 Prometheus正迅速成为监控云原生...

RancherLabs
46分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部