Request和Response对象
HttpServletResponse对象,这个对象封装了向客户端发送数据,响应头,响应状态码的方法
一个对象要输出东西调用输出流就行了很多东西不要想的太复杂:
OutputStream out = response.getOutputStream();
Out.write(“<metahttp-equiv=’content-type’ content=’text/html;charset=utf-8’>”)
out.write(D.getBytes());
这里是用字节流输出数据;
注意:
字节流可以处理任何数据
字符流只能处理文本
细节问题:getOutPutStream方法和getWriter分别用与得到二进制数据与输出文本数据的ServletOutputStream,PrintWriter对象
getOutPutStream和getWriter这两个方法互相排斥调用了其中一个方法之后就不能调用另外一个方法,这是初学者容易犯的错误,因为在我们容易在上面调用一种输出方法,在下面又使用另外一种这时候就会抛异常。
在调用了getOutPutStream和getWriter之后为什么不用关闭呢?因为Servlet会检测你的流是否关闭,如果没有则Servle会自动关闭这个流。调用close方法。但是自己new出来的流一定要自己关闭
关于下载:
先获得绝对路径:
设置文件名的编码(因为文件名也分中文英文):
请求一结束request和response对象立即销毁,返回内存空间,所以不会使服务器崩溃,除非并发的发送请求
关于response对象,在程序中有说明