HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码
Posted noteless
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码相关的知识,希望对你有一定的参考价值。
void setHeader(String var1, String var2);
response.setHeader(“content-type”, “text/html;charset=utf-8”);
- 告诉浏览器响应内容为html类型,编码为utf-8。
- 而且同时会设置response的字符流编码为utf-8,即response.setCharaceterEncoding(“utf-8”);
response.setHeader("Refresh","5; URL=http://www.baidu.com");
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding(“utf-8”);//设置字符响应流的字符编码为utf-8;
response.setStatus(200);//设置状态码;
response.sendError(404, “您要查找的资源不存在”);//当发送错误状态码时,Tomcat会跳转到固定的错误页面去,但可以显示错误信息。
- 当然,如果响应正文内容为字符,那么使用response.getWriter()
- 如果响应内容是字节,那么可以使用response.getOutputStream() 例如下载时
缓冲区
response.getWriter()是PrintWriter类型,所以它有缓冲区,缓冲区的默认大小为8KB。
也就是说,在响应数据没有输出8KB之前,数据都是存放在缓冲区中,而不会立刻发送到客户端。
当Servlet执行结束后,服务器才会去刷新流,使缓冲区中的数据发送到客户端。
如果希望响应数据马上发送给客户端:
向流中写入大于8KB的数据;
调用response.flushBuffer()方法来手动刷新缓冲区;
响应码为200表示响应成功,而响应码为302表示重定向,你需要告诉浏览器需要重定向
因为重定向是通知浏览器再第二个请求,所以浏览器需要知道第二个请求的URL所以完成重定向的第二步是设置Location头,指定第二个请求的URL地址。
response.setStatus(302);
response.setHeader("Location", "https://www.cnblogs.com/noteless/");
|
response.sendRedirect("https://www.cnblogs.com/noteless/");
|
response.sendRedirect("/servlet/ServletB");
|
以上是关于HttpServletResponse ServletResponse 返回响应 设置响应头设置响应正文体 重定向 常用方法 如何重定向 响应编码 响应乱码的主要内容,如果未能解决你的问题,请参考以下文章
Servlet进阶4(HttpServletResponse 类)
HttpServletrequest 与HttpServletResponse总结