Java语言-107:Servlet的对象response对象

本文介绍了Servlet中的HttpServletResponse对象,详细解释了如何通过该对象向客户端发送数据、设置字符编码及内容类型。并通过两个实例演示了使用getOutputStream和getWriter方法的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Servlet的Response对象:(向客户机输出数据)
    HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法。
2、向客户端输出数据
    1)getoutputStream:得到输出的二进制数据
    2)getWriter:输出文本数据的ServletOutputStream、PrintWriter对象
注意:这两个方法互相排斥,调用了其中一个就不能调用另外一个。
    3)Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎从response里面获取,Servlet引擎将这些数据当前响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。
3、简单举例:
    package com.westes.Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;


public class ResponseServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        //Servlet的response对象的getOutputStream方法
        //输出数据
        String country = "china";
        OutputStream out = response.getOutputStream();
        out.write(country.getBytes("utf-8"));
        //浏览器出现:china
        out.flush();
        out.close();

    }
}

package com.westes.Servlet;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;


public class ResponseServlet_2 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        request.setCharacterEncoding("utf-8");
        //response对象的getWriter方法
        String city = "西安";
        PrintWriter pw = response.getWriter();
        pw.println(city);
        pw.write(city);
        //浏览器输出西安  西安
    }
}
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值