栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

HttpServletResponse 对象介绍---------史上最全

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HttpServletResponse 对象介绍---------史上最全

      Web 服务器收到客户端的 http 请求,会针对每一次请求,分别创建一个用于代表请求的 request 对象和代表响应的 response 对象。
 request 和 response 对象代表请求和响应:获取客户端数据,需要通过 request 对象;向客户端输出数据,需要通过 response 对象。



        HttpServletResponse 的主要功能用于服务器对客户端的请求进行响应,将 Web 服务器处理后的结果返回给客户端。service0方法中形参接收的是 HttpServletResponse 接口的实例化对象,这个对象中封装了向客户端发
送数据、发送响应头,发送响应状态码的方法。
7.1.响应数据
接收到客户端请求后,可以通过 HttpServletResponse 对象直接进行响应,响应时需要获取输出流。
有两种形式:

 PrintWriter writer = response.getWriter();
       writer.write("hello");9//输出字符串
   ServletOutputStream servletOutputStream = response.getOutputStream();
        servletOutputStream.write("hi".getBytes());//输出一切数据

但是用ServletOutStream时候,注意最后getbyte因为只能转为字节后才能输出到前端;

代码模拟:

package com.xxx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
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;
import java.util.ArrayList;


@WebServlet("/ser05")
public class servlet05 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//        PrintWriter writer = response.getWriter();
//        writer.write("hello");9//输出字符串

        ServletOutputStream servletOutputStream = response.getOutputStream();
        servletOutputStream.write("hi".getBytes());//输出一切数据
    }
}

效果图:

注意!!!!!!!!!!!!!!!!!!!!!!!!

在同一个范围域中,以上两种输出输出 只能有一个,处于你死我活的状态,为什呢

看下文:

加入两者同时存在;

会出现什么情况呢:

look

;

package com.xxx.servlet;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
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;
import java.util.ArrayList;


@WebServlet("/ser05")
public class servlet05 extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter writer = response.getWriter();
        writer.write("hello");//输出字符串

        ServletOutputStream servletOutputStream = response.getOutputStream();
        servletOutputStream.write("hi".getBytes());//输出一切数据
    }
}

只有第一个输出

原因如下:

 控制台显示;rponse已经被使用,so:

你懂了吗;

reponse只能有一个,一旦被使用。就无法继续;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914180.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号