码迷,mamicode.com
首页 > 其他好文 > 详细

day05 Request Response

时间:2018-04-18 23:43:43      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:ons   获取   目的   ugo   打开   tput   一个   int   code   

Author:相忠良
Email: ugoood@163.com
起始于:April 18, 2018
最后更新日期:April 18, 2018

声明:本笔记依据传智播客方立勋老师 Java Web 的授课视频内容记录而成,中间加入了自己的理解。本笔记目的是强化自己学习所用。若有疏漏或不当之处,请在评论区指出。谢谢。
涉及的图片,文档写完后,一次性更新。

day05 Request Response

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

  • 要想获取客户机提交过来的数据,只需找 request 对象;
  • 要向客户机输出数据,只需找 response 对象就行了。

1. HttpServletResponse 简介

HttpServletResponse响应,它封装了向客户机 发送数据、发送响应头和发送响应状态码 的方法。例如:

setStatus(int)
setHeader(String, String)
getWriter()
getOutputStream()

1.1 Response 的 OutputStream 输出中文的问题

程序已什么码表输出了,程序就一定要控制浏览器以什么码表打开。

1.用 响应头 的方式控制浏览器的码表,如下:

// servlet 中用 OutputStream 输出中文的问题
public class ResponseDemo1 extends HttpServlet {

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        // 通过response对象为浏览器指定码表
        // 程序已什么码表输出了,程序就一定要控制浏览器以什么码表打开
        response.setHeader("Content-type", "text/html;charset=UTF-8");

        String data = "中国";
        OutputStream out = response.getOutputStream();
        out.write(data.getBytes("UTF-8")); // 以该码表输出
    }
}

2.用 html 的<meta>方式控制浏览器的码表,此方法 没有 向浏览器发送响应头。如下(我试验失败):

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        String data = "中国";
        OutputStream out = response.getOutputStream();

        out.write("<meta http-equiv=‘content-type‘ content=‘text/html;charset=UTF-8‘>"
                .getBytes());
        out.write(data.getBytes("UTF-8"));
}

to be continued

day05 Request Response

标签:ons   获取   目的   ugo   打开   tput   一个   int   code   

原文地址:https://www.cnblogs.com/ZhongliangXiang/p/8878062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!