Serlvet中HttpServletResponse对象两种回送数据的方式

目录

1. getWriter( )方法

2.getOutputStream( )方法

3.getWriter( ) 和 getOutputstream( ) 的区别

4.两种方法向浏览器回送数据的原理和过程


在servlet中HttpServletResponse对象有两种方式可以进行数据的回送。

1. getWriter( )方法

package com.servlet;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class shenruliejieServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		
		 response.setContentType("text/html;charset=utf-8");//设置编码格式,以防浏览器端出现中文乱码
		 PrintWriter printWriter = response.getWriter();//创建输出流
		 printWriter.println("hello<br>");
		 printWriter.println("<h1>这就是一个大表头,你们觉得大不大</h1>");
		 

	}
}

以上就是HttpServletResponse对象的getWriter( )方法的使用,其返回的是一个PrintWriter对象

2.getOutputStream( )方法

package com.servlet;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class shenruliejieServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException { 
		//this.getServletContext().getRealPath("/"); // 获取 服务器中当前WebRoot的物理路径

		OutputStream outputStream = response.getOutputStream();
		
		String realPath = this.getServletContext().getRealPath("zhenxiang.PNG");//使用this调用HttpServlet的getServletContext( )方法
		System.out.println(realPath);
		
		InputStream in = new FileInputStream(realPath);//通过文件的绝对路径名来创建输入流FileInputStream对象
		 
		int len = 0;
		byte[] buffer = new byte[1024];
		while ((len = in.read(buffer)) > 0) {
			outputStream.write(buffer, 0, len);
		}
		for(int i=0;i<buffer.length;i++){
			System.out.println(buffer[i]);
		}
	}
}

 以上是使用getOutputStream( )方法回送的图片信息这种字节数据;

3.getWriter( ) 和 getOutputstream( ) 的区别

getWriter( ) 和 getOutputStream( )的区别其实本质上是:java输入输出系统中PrintWriter对象和OutputStream对象之间的区别。

getWriter( ) 方法得到的是PrintWriter对象,其用来向客户端回送字符数据

getOutputStream( ) 方法得到的是OutputStream对象,用来向客户端回送字节数据,当然它也可以传送字符数据。如下:

public class shenruliejieServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		OutputStream outputStream = response.getOutputStream();
		outputStream.write("hello world".getBytes());//先将字符串解码成字节序列
	}
}

4.两种方法向浏览器回送数据的原理和过程

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值