HttpServletResponse类

  当客户端浏览器请求服务器后,该服务器就会将返回信息封装到HttpServletResponse里进行响应,返回信息中的第一行为状态行,共分为5类,

  100-199:表示服务端成功接受请求,但要求客户端继续提交下一次请求才能完成全部处理过程。

  200-299:表示服务端已成功接受请求,并完成了全部处理过程。

   300-399:表示客户端请求资源已经到了别的位置,并向客户端提供了一个新地址,一般这个新地址由HTTP响应头的Location字段指定。

  400-499:表示客户端请求有误。

  500-599:表示服务端出现错误。

  response.setStatus(*);//设置状态

  response.sendReadirect("URL") //可以是绝对路径www.baidu.com  也可以是相对的(webdemo/test.html);

  响应浏览器请求,返回数据例子 

  //设置响应头数据

  //在浏览器页面上输出YES

  //输出字符流 PrintWriter out = response.getWriter();

  //输出字节流 OutputStream out = response.getOutputStream();

 1 package com.demo.servlet;
 2
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.util.Calendar;
 6
 7 import javax.servlet.ServletException;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11
12 /**
13  *
14  * ClassName: ExploreResponseHeader
15  * @Description: 验证响应消息头设置情况
16  * @author zgb
17  * @date 2016-7-2
18  */
19 public class ExploreResponseHeader extends HttpServlet {
20
21
22     private static final long serialVersionUID = 1L;
23
24     //处理客户端的get请求
25     protected void doGet(HttpServletRequest request, HttpServletResponse response)
26             throws ServletException, IOException {
27
28         response.setContentType("text/html;charset=UTF8");
29         response.setHeader("Content-Length", "1234");
30         //加一个NewFileld1字段
31         response.addHeader("NewFileld1", "value1");
32         //获得Calender对象
33         Calendar calendar = Calendar.getInstance();
34         calendar.set(2016, 07,02);
35         //增加一个Mydate字段
36         response.addDateHeader("MyDate", calendar.getTimeInMillis());
37         //加一个NewFileld2字段
38         response.addIntHeader("NewFileld2", 3000);
39         //设置状态为500
40         response.setStatus(500);
41         //获取用于输入输出消息的PrintWriter对象
42         PrintWriter out = response.getWriter();
43         out.println("YES");
44
45     }
46
47 }

文件下载

 1 package com.demo.servlet;
 2
 3 import java.io.FileInputStream;
 4 import java.io.IOException;
 5 import java.io.InputStream;
 6 import java.io.OutputStream;
 7
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12
13 /**
14  *
15  * ClassName: DownFlieServlet
16  * @Description: 下载文件
17  * @author zgb
18  * @date 2016-7-2
19  */
20 public class DownFlieServlet extends HttpServlet{
21
22     /**
23      * @Fields serialVersionUID : TODO
24      */
25     private static final long serialVersionUID = 1L;
26
27     @Override
28     protected void doGet(HttpServletRequest requset, HttpServletResponse response)
29             throws ServletException, IOException {
30         //1.获取要下载文件的绝对路径
31         String realPath = this.getServletContext().getRealPath("/download/2.png");
32         //2.获取下载文件的名称
33         String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
34         //3.设置content—dispositon响应控制浏览器以下载的形式打开文件
35         response.setHeader("content-disposition", "attachment;fileName="+fileName);
36         //4.获取要下载的文件输入流
37         InputStream stream = new FileInputStream(realPath);
38
39         int len = 0;
40
41         byte[] buffer = new byte[1024];
42
43         OutputStream out = response.getOutputStream();
44
45         while((len = stream.read(buffer))>0){
46
47             out.write(buffer,0,len);
48
49         }
50         stream.close();
51
52     }
55
56 }

 

时间: 2024-12-11 10:46:27

HttpServletResponse类的相关文章

servlet HttpServletResponse类

HttpServletResponse 类和 HttpServletRequest 类一样.每次请求进来,Tomcat 服务器都会创建一个 Response 对象传递给 Servlet 程序去使用.HttpServletRequest 表示请求过来的信息,HttpServletResponse 表示所有响应的信息,我们如果需要设置返回给客户端的信息,都可以通过 HttpServletResponse 对象来进行设置 a) 两个流 字节流 getOutputStream(); 常用于下载(传递二进

EL四大作用域 9个jsp对象有效范围 及 对应的类

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 java中request,session,application的作用范围      page,request,session,application四者的作用范围:     

Servlet--HttpServletRequest接口,HttpServletResponse接口

HttpServletRequest接口 定义 public interface HttpServletRequest extends ServletRequest; 用来处理一个对 Servlet 的 HTTP 格式的请求信息. 方法 1.getAuthType public String getAuthType(); 返回这个请求的身份验证模式. 2.getCookies public Cookie[] getCookies(); 返回一个数组, 该数组包含这个请求中当前的所有 cookie

HTTP Keep-Alive详解

HTTP是一个请求<->响应模式的典型范例,即客户端向服务器发送一个请求信息,服务器来响应这个信息.在老的HTTP版本中,每个请求都将被创建一个新的客户端->服务器的连接,在这个连接上发送请求,然后接收请求.这样的模式有一个很大的优点就是,它很简单,很容易理解和编程实现:它也有一个很大的缺点就是,它效率很低,因此Keep-Alive被提出用来解决效率低的问题. Keep-Alive功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新

SSH框架整合配置所需JAR包(SSH整合)

Hibernate Jar: 1.hibernate3.jar,这个是hibernate3.0的核心jar包,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要. 2.cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必要. 3.asm.jar ASM字节码库 如果使用"cglib"则必要,必要 4.asm-attrs.jar ASM字节码库 如果使用"cglib&qu

jsp笔记总结

第一章 JavaWeb简介 1.什么是Web应用程序 什么是Web应用程序是一种通过Web访问的应用程序.Web应用程序一个最大优点就是用户很容易访问.用户只需要有浏览器即可,不需要再安装其他软件.Web开发是目前软件开发领域的三大方向之一.(桌面应用程序,Web应用程序,嵌入式应用程序) 2.静态页面与动态页面 静态网页 表现形式:网页内容固定,不会更新. 所需技术:HTML,CSS 动态网页 表现形式:网页中的内容通过程序动态的显示,自动更新,能与用户进行交互(比如登录输入正确用户名和密码时

Cookie/Session机制详解

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. 1.1  Cookie机制 在程序中,会话跟踪是很重要的事情.理论上,一个用户的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个

转:客户端session与服务端session

会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 .常用的会话跟踪技术是Cookie与Session. Cookie通过在客户端记录信息确定用户身份 , Session通过在服务器端记录信息确定用户身份 . 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. 1.1  Cookie机制 在程序中,会话跟踪是很重要的事情.理论上, 一个用户的所有请求操作都应该属于同一个会话 ,而另一个用户的所有请求操作

【转载】Cookie/Session机制详解

[本文转自]http://blog.csdn.net/fangaoxin/article/details/6952954/ 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. 1.1  Cookie机制 在程