阅读完需:约 2 分钟
HttpServletResponse
request
是请求对象,而response
是响应对象。
在Servlet
中,当服务器响应客户端的一个请求时,就要用到HttpServletResponse
接口。设置响应的类型可以使用setContentType()
方法。发送字符数据,可以使用getWriter()
返回一个对象。下表是接口HttpServletResponse
的常用方法。
response对象的功能分为以下四种:
- 设置响应头信息;
addHeader(“reFresh”, “5;URL=xxxx”);
- 发送状态码;
sendError(404);
- 设置响应正文;
getWriter().print(“fdsfdsa”);
- 重定向:
sendRedirect(“path”);
设置状态码及其他方法
- response.setContentType(“text/html;charset=utf-8”):设置响应类型为html,编码为utf-8,处理相应页面文本显示的乱码;
- response.setCharacterEncoding(“utf-8”):如果响应类型为文本,那么就需要设置文本的编码类型,然后浏览器使用这个编码来解读文本。注意,如果没有设置contentType,那么浏览器会认为contentType为text/html,如果没设置编码,那么默认为ISO-8859-1编码。所以以上两点在使用response返回结果之前必须设置。
- response.setStatus(200):设置状态码;
- response.sendError(404, “您要查找的资源不存在”):当发送错误状态码时,Tomcat会跳转到固定的错误页面去,但可以显示错误信息。
设置响应头信息
response.setHeader(“contentType”, “text/html;charset=utf-8”):与setContentType()方法的功能相同。setContentType()方法属于便捷方法;
刷新(定时重定向):
response.setHeader(“Refresh”,”5; URL=http://www.baidu.com”):5秒后自动跳转到百度主页。
ServerHttpResponse
ServerHttpResponse 与 ServerHttpResponse 类似,都可以通过转换获取内容,转换成 HttpServletResponse
val servletResponse = (serverHttpResponse as ServletServerHttpResponse).servletResponse