[Servlet]HttpServletResponse的二进制输出(获取应用程序中的资源再输出)、重定向、错误发送

本文介绍了如何使用HttpServletResponse进行二进制输出,包括ServletOutputStream的使用,以及如何获取Web应用程序中的资源。此外,还讨论了如何实现响应重定向和错误发送,包括sendRedirect和sendError方法的使用。最后,给出了一个简单的下载器例子,展示了如何处理密码验证后的资源下载。
摘要由CSDN通过智能技术生成

1. 使用getOutputStream输出二进制字节流:

    1) 有时相对浏览器输出的直接是一个文件资源而不是HTML等字符串文档,此时就需要使用HttpServletResponse的getOutputStream进行字节流输出;

    2) 输出过程:

         i. ServletOutputStream HttpServletResponse.getOutputStream(); // 获取一个ServletOutputStream对象,可以用来输出

         ii. ServletOutputStream有一系列方法输出二进制字节流,总体来说有两类,一类是print,另一类是println,都分别重载输出boolean、char、int、double、float、long、String这些基本类型的方法,只不过它们都是以二进制的格式输出的,想要读取它们也必须以二进制的方式读取,否则得到的只会是乱码;

         iii. 由于ServletOutputStream继承自OutputStream,因此可以用OutputStream对象引用来接受getOutputStream返回的对象,可以直接使用OutputStream的write方法大批量写数据:

              a. void OutputStream.write(byte[] b); // 写b.length个字节

              b. void OutputStream.write(byte[] b, int off, int len); // 从b[off]开始写,写len个字节

              c. 当然write也提供了只写一个int的版本:void OutputStream.write(int b);

!࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值