web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象。resquest和response对象既然代表请求和响应,那么要获取客户机提交过来的数据,只需要找request对象就行了。要想客户机输出数据,只需要找response对象就行了。

HttpServletResponse对象介绍

HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据,发送响应头,发送响应状态码的方法。

1.向客户端(浏览器发送数据的相关方法),继承自ServletResponse

2.负责向客户端(浏览器)发送响应头的相关方法

3.负责向客户端(浏览器)发送响应状态码的相关方法

4.响应状态码常量

HttpServletResponse对象常见应用

使用OutputSteam流向客户端浏览器输出中文数据

使用OutputStream输出中文要注意:在服务器端,数据是以哪个码表输出的,那么就要在客户端浏览器以相应的码表打开,比如:OutputStream.write(“北邮”.getBytes("UTF-8"));;使用OutputStream流向客户端浏览器输出中文,以UTF-8的编码进行输出,此时就要控制客户端浏览器以UTF-8的编码打开,否则显示的时候就会出现中文乱码,那么在服务器端如何控制客户端浏览器以以UTF-8的编码显示数据呢?可以通过设置响应头控制浏览器的行为,如:response.setHeader("content-type", "text/html;charset=UTF-8");通过设置响应头控制浏览器以UTF-8的编码显示数据。

package com.fpc;

import java.io.IOException;
import java.io.OutputStream; import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class ServletContextDemo1 extends HttpServlet { @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
// String data = "<h1><font color='blue'>fpc_20171206</font></h1>";
// resp.getOutputStream().write(data.getBytes());
// ServletContext context = this.getServletContext();//获取ServletContext对象
// RequestDispatcher rd = context.getRequestDispatcher("/servletContext/servletContextDemo2");//获取请求转发对象
// rd.forward(req, resp);
// String data = "fpc_2017/12/06 14:07";
/*
* 设置合理的缓存时间值,以避免浏览器向服务器发送请求,提升服务器的性能
* 这里是将数据的缓存时间设置为1天
* */
// resp.setDateHeader("expires", System.currentTimeMillis() + 24 *3600*1000);
// resp.getOutputStream().write(data.getBytes());
String data = "北邮";
//通过设置响应头控制浏览器以UTF-8的编码显示数据,如果不加这句话,那么浏览器显示地是乱码 resp.setHeader("content-type", "text/html;charset=UTF-8");
OutputStream outputStream = resp.getOutputStream();
/*data.getBytes()是一个将字符转换成字节数组的过程,这个过程一定会去查码表,
* 如果是中文的操作系统环境,默认就是查找GB2312码表
* */ byte[] b = data.getBytes("UTF-8"); outputStream.write(b);
} @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(req, resp);
} }

运行结果:

JavaWeb-HttpServletResponse对象一的更多相关文章

  1. JAVAWEB学习总结 HttpServletResponse对象(一)

    Web服务器收到客户端(浏览器)的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的response对象. request和response对象既然代表请求和响 ...

  2. javaweb学习总结(七)——HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  3. javaweb笔记6多个响应头以及 HttpServletResponse对象

    1 常见的响应头 Location: http://www.it315.org/index.jsp     重定向的地址.配合302的状态码一起使用,实现重定向效果. Content-Type: te ...

  4. javaweb学习总结(七)——HttpServletResponse对象(一)(转)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象. request和response对象即然代表请求和响应,那我们 ...

  5. JavaWeb总结(二)—HttpServletResponse对象

    Web服务器收到客户端的http请求,会针对每一次的请求,分别创建一个用于代表请求的request对象和response对象.我们要获取客户端提交的数据,只需要找request对象.要向客户端输出数据 ...

  6. javaweb学习总结(七)——HttpServletResponse对象(一)(转)

    转载自 http://www.cnblogs.com/xdp-gacl/p/3789624.html Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对 ...

  7. JavaWeb学习 (七)————HttpServletResponse对象(一)

    一.HttpServletResponse对象介绍

  8. javaweb(七)——HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  9. Java 中的 HttpServletRequest 和 HttpServletResponse 对象

    HttpServletRequest对象详解 javax.servlet.http.HttpServletRequest是SUN制定的Servlet规范,是一个接口.表示请求,“HTTP请求协议”的完 ...

  10. HttpServletResponse对象(一)

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

随机推荐

  1. am335x 打开内部 RTC

    AM335X 打开内部 RTC 过程记录. kernel version: 3.2.0 先在 make menuconfig 里面打开内部RTC的配置: make menuconfig Device ...

  2. Linux系统编程--read/write

    . read/write read函数从打开的设备或文件中读取数据. #include <unistd.h> ssize_t read(int fd, void *buf, size_t ...

  3. PHP——0128练习相关3——设置文本域的默认值

    都知道文本框的的默认值只要设置value属性即可但是文本域是没有value属性的要设置文本域的默认值只要<textarea>默认值</textarea>即可简单吧,呵呵..

  4. STUN协议简析

    http://blog.csdn.net/mazidao2008/article/details/4934257 ——————————————————————————————————————————— ...

  5. jQuery && jEasyUI 扩展功能集合

    jquery-extensions:jQuery && jEasyUI 扩展功能集合 该扩展功能基于 jQuery 1.9.x / 1.10.x / 1.11.x 和 jQuery E ...

  6. EMPTY表示元素不能包含文本,也不能包含子元素

    <?xml version=”1.0″ encoding=”GB2312″?> <!ELEMENT Customer EMPTY> <!ATTLIST Customer称 ...

  7. 转载 Python导入模块的几种姿势

    作为一名新手Python程序员,你首先需要学习的内容之一就是如何导入模块或包.但是我注意到,那些许多年来不时使用Python的人并不是都知道Python的导入机制其实非常灵活.在本文中,我们将探讨以下 ...

  8. 多媒体开发之rtsp---rtsp client 端的实现

    http://blog.csdn.net/xyz_lmn/article/details/6055179 java实现 http://www.cnblogs.com/wohexiaocai/p/454 ...

  9. thinkPHP 上传文件的中文乱码

    最新版本~用了里面的上传文件类,发现在保存文件原本名称的时候当有中文名的时候保存文件会显示乱码,看了下源代码发现在Tp上传驱动那里有点问题. // if (!move_uploaded_file($f ...

  10. UIStoryboard小提示

    - (id)instantiateInitialViewController - (id)instantiateViewControllerWithIdentifier:(NSString *)ide ...