`

servlet和jsp核心编程(第2版)第七章服务器响应的生成:HTTP响应报头学习笔记

 
阅读更多
第七章:服务器响应的生成:HTTP响应报头
为了让servlet发挥最大的效力,我们不仅需要知道如何生成文档,还需要知道如何有效和使用状态行和响应报头。
、在servlet中设置响应的报头
setHeader(String headerName,String headerValue);setDateHeader(String header,long millseconds);setIntHeader(String headerName,int headerValue);
当然,我们不仅可以设置报头,我们也可以添加内容到已有的报头,addHeader(),addDateHeader(),addIntHeader();
、理解HTTP1.1响应报头。
1.如果你编写的servlet的行为只依赖于HTTP1.1中提供的响应报头,那么在编写时要极为小心,一些旧的浏览器只支持HTTP1.0,最好在使用HTTP1.1专有的报头之前,用request.getRequestProtocol明确的检查HTTP的版本。
具体响应报头为:
<status line>
<headers>
<blank line>
[<response-body>] 

具体实例可参见http://wenku.baidu.com/view/31d9151a6bd97f192279e9d7.html
每种响应报头可参见:
http://guafei.iteye.com/blog/1111078http://onehao.iteye.com/blog/806395
、构建excel电子表格
		response.setContentType("application/vnd.ms-excel");
		PrintWriter out = response.getWriter();
		out.println("\tQ1\tQ2\tQ3\tQ4\tQ5\ttotal");
		out.println("Apples\t41\t42\t43\t65\t43\t=sum(b2:f2)");
		out.println("Oranges\t21\t34\t54\t33\t51\t=sum(b3:f3)");

这里的\t代表制表符,而Q1和Q2之间就相差这一个制表符,sum(b2:f2)就是统计第二行的b列到f列的内容。
、servlet状态的持续以及页面的自动重载。
1.对于不专属于任意客户的数据,可以将其存储在servlet的字段(实例变量中)中,对于用户专属的数据,可以将其村春在HttpSession对象中,对于其他的servlet和jsp页面需要用到的数据,可以将它存储在ServletContext中。ServletContext由Web应用中所有的servlet和jsp页面共享。
2.一种在请求发送给用户之后,保持运算继续进行的方式。只需启动一个线程,系统为了应答请求而启动的线程。在相应之后自动结束。
3.一种在更新的结果就绪后,是浏览器得到它的方式。并不维护一个与服务器之间的保持打开的连接,所以,服务器想要将新的结果发送给浏览器并不容易,取而代之,应该指示浏览器请求更新,这就是Refresh相应报头的用途。
、使用servlet生成JPEG图像
1.通知浏览器它们正在发送的内容类型。使用setContentType方法设置Content-Type响应报头,来完成这项任务。
2.以恰当的格式发送输出。不同的文档类型,这个格式也会有所不同,但大多数情况下发送的是二进制数据,而非发送HTML文档时所用的字符串,因此,servlet一般使用getOutputStream方法获取原始的输出流,而非使用getWriter获取PrintWriter。将这两步放在一起,生成非HTML内容的servlet一般在doGet或doPost方法中包含如下的一段语句:
response.setContentType("type/subtype");
OutputStream out = response.getOutputStream();
分享到:
评论

相关推荐

    Servlet与JSP核心编程第2版

    第7章 服务器响应的生成:htip响应报头 7.1 在servlet中设置响应报头 7.2 理解http1.1响应报头 7.3 构建excel电子表格 7.4 servlet状态的持续以及页面的自动重载 7.5 使用servlet生成jpeg图像 第8章 ...

    Servlet与 JSP 指南,PPT教学课件part2(共3个)

    1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...

    Servlet与 JSP 指南,PPT教学课件part1(共3个)

    1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...

    Servlet与 JSP 指南,PPT教学课件part3(共3个)

    1、servlet与JSP技术概述 2、servlet基础 3、客户请求的处理:表单数据 4、客户请求的处理:HTTP请求报头 5、服务器响应的生成:HTTP状态代码 6、服务器响应的生成: HTTP响应报头 7、cookie...

    J2EE Web程序开发定向班V1.0 Java就业班V2.0 (完整版)

    第18章:Servlet与JSP核心技术课程--18、Servlet和JSP的集成MVC模式-MVC模式透析(2).rmvb 第18章:Servlet与JSP核心技术课程--18、Servlet和JSP的集成MVC模式-深入分析MVC架构模式.rmvb 第19章:Servlet与JSP核心...

    深入Java Servlet网络编程

    第7章 在Servlet中使用数据库 7. 1 JDBC概述 7. 1. 1 JDBC驱动程序的类型 7. 1. 2 使用JDBC 7. 1. 3 使用JDBC的实例 7. 2 连接地 7. 2. 1 ConnectionPool对象 7. 2. 2 使连接池对所有Servlet可用 7. 2. 3 ...

    Servlet服务器编程

    本章主要围绕Servlet进行深入探讨,包括Servlet的基础知识、编程接口以及如何在Tomcat服务器上进行配置和部署。 首先,Servlet是Java平台上的一个核心组件,它扩展了Web服务器的功能,允许开发者用Java代码来处理...

    HTTP学习笔记

    HTTP学习笔记 HTTP协议是万维网的基础协议,主要规定了浏览器和万维网服务器之间的相互通信规则。下面是对HTTP协议的详细介绍: 一、HTTP协议的定义 HTTP协议(超文本协议)是一种详细规定了浏览器和万维网...

    J2EE学习资料(EJB、Servle、Jsp)

    这些PPT文件构成了一个完整的J2EE学习资源库,涵盖了从基础的Servlet和JSP编程,到高级的EJB和JPA使用,再到特定的Cookie管理。通过深入学习和实践这些内容,开发者可以建立起坚实的企业级Java应用开发基础。

    C++自己封装HTTP报头

    本教程将深入讲解如何使用C++来封装HTTP报头,以便进行请求和响应的交互。 HTTP报头是由多个字段组成的,这些字段包含了关于请求或响应的元信息,例如请求方法(GET、POST等)、URL、协议版本、状态码、消息体长度...

    HTTP协议之消息报头

    普通报头适用于所有请求和响应消息,但它们与被传输的实体无关,仅用于传输的消息本身。主要包括: 1. **Cache-Control** - **功能**:用于指定缓存指令,这些指令是单向的且独立的。 - **指令示例**: - **请求...

    delphi操作IdHTTP报头读写

    在Delphi编程环境中, Indy(Internet Direct)库是一个强大的网络通信组件集,其中IdHTTP组件是用于HTTP协议交互的核心部分。本篇文章将深入探讨如何在Delphi中利用IdHTTP组件进行HTTP请求的报头(Header)读写操作...

    Servlet基础.ppt

    - HTTP报头包含请求报头和响应报头,它们携带额外的信息,如客户端偏好、认证信息、编码类型等。 - 例如,`Cookie`报头用于传递用户ID或其他状态信息,`Accept`报头指定客户端可以处理的MIME类型,`Authorization`...

    Udp编程:服务器和客户端

    在本项目中,"Udp编程:服务器和客户端"是通过Visual C++6.0环境,使用C++语言实现的UDP通信示例。下面我们将深入探讨UDP服务器和客户端的编程原理及其关键知识点。 1. UDP协议基础: - UDP协议的特点在于其轻量级...

    servlet d的使用用必要看看那

    Servlet是Java平台上用于开发Web应用程序的核心技术之一,它是一个运行在服务器端的Java类,用于接收HTTP请求并生成响应。Servlet技术替代了早期的CGI技术,提供了更高效、更灵活的服务器端编程模型。本篇文章将深入...

    HTTP 请求报头详解

    HTTP 请求报头是 HTTP 协议中的一种重要机制,它允许客户端和服务器之间进行信息交换。报头字段可以分为四类:general-header、request-header、response-header 和 entity-header。 首先,general-header 字段是 ...

    HTTP协议详解 学习servlet的必备资料

    1. **客户/服务器模式**:HTTP协议支持客户端发起请求,服务器响应的服务模式。 2. **简单快速**:客户端只需要发送请求方法和路径,常见的请求方法有GET、HEAD和POST,简单的协议设计使得HTTP服务器的实现较为轻量...

    电信设备-无线通信系统中用于生成报头序列的装置和方法.zip

    本篇讨论的是在电信设备中用于生成报头序列的装置和方法,我们将深入探讨其原理、设计思路以及实际应用。 一、报头序列的作用 1. **同步**:报头序列中的同步码有助于接收端快速捕捉到信号的起始位置,从而进行...

    3+Servlet基础

    理解Servlet接口的使用,正确配置`web.xml`,掌握HTTP报头的使用,以及如何在Servlet中生成和处理响应,这些都是学习Servlet基础的关键点。通过实践和探索,开发者可以熟练运用Servlet构建高效、动态的Web应用程序。

    精品课件 Python从入门到精通 第20章 Web编程(共14页).pptx

    在第20章“Web编程”中,你将深入理解Web开发的基本概念,包括Web服务器、HTTP协议以及前端基础知识。 1. **Web基础** - **HTTP协议**:超文本传输协议(HTTP)是Web通信的核心,它定义了客户端(浏览器)与服务器...

Global site tag (gtag.js) - Google Analytics