servlet处理HTTP响应——设置消息响应体

我们最先要讨论的功能是:如何将信息返还给客户端?

HttpServletResponse对象就是负责此功能的。
但是,HttpServletResponse对象本甚只产生一个空的HTTP响应。
传回自定义的内容需要使用getwriter()或者OutPrintStream()方法,以获取输出流来写入相应内容。
这两个方法分别返回合适的对象来传送文本或者二进制内容给客户端。
在一个指定的HttpServletResponse对象中,只能使用这两个方法之一。如果同时使用会导致异常抛出。


1. 传递文本流
printWriter out =response.getWriter(); out.println("<h>输出文本信息</h>");


2. 传递二进制文件
以下是一个产生图像和发送字节的一段代码示例:

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("image/jpeg"); //创建图像 int width=200; int height =30; BufferedImage image =new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //得到画图上下文 Graphics2D g =(Graphics2D)image.getGraphics(); //填充背景 g.setColor(Color.gray); g.fillRect(0, 0, width, height); //画字符串 g.setColor(Color.BLACK); g.setFont(new Font("Dialog",Font.PLAIN,14)); g.drawRect(0, 0, width, height);

			//画边框
	g.setColor(Color.BLACK);
	g.drawRect(0, 0, width-1, height-1);
	
	//隐藏内容
	g.dispose();
	
	//发回图片
	ServletOutputStream sos = resp.getOutputStream();
	JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(sos);
	encoder.encode(image);
			
}

可以看到JPEG格式的图像在每次请求时被动态地创建在页面上

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值