`

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 ...

    http报头for Arduino

    http报头for Arduino生成工具

    JSP期末考试试卷及参考答案

    7、在JSP内置对象中,(request)对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的(getparameter)方法可以获取客户端表单中某输入框提交的信息。 8、在JSP内置对象中,(response)...

    HTTP协议之消息报头

    详细介绍了HTTP协议之消息报头中各个属性。

    HTTP 请求报头详解

    HTTP头字段包括4类: general-header ; request-header ; response-header ; entity-header

    Java语言基础下载

    第七章:类的高级特征 103 学习目标 103 static关键字 104 final关键字 106 内部类 106 实例分析 110 抽象类,接口 115 内容总结 120 独立实践 121 第八章:异常 122 学习目标 122 异常的概念 123 异常的分类 123 ...

    urllib2学习笔记

    urllib2学习笔记,用于平时学习时的笔记使用: #返回读取网页全部内容,字符串 html = response.read() #返回访问的问页响应码 print response. getcode() #返回实际数据的URL print response.geturl() #返回访问...

    IP报头结构实验

    科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 4.1-IP报头结构实验科来软件 ...

    C++自己封装HTTP报头

    自己封装HTTP报头,发送服务器,接受返回信息!用于新手学习!

    Web应用安全:HTTP消息结构.pptx

    一个HTTP"服务器"同样也是一个应用程序(通常是一个Web服务,如Apache Web服务器或IIS服务器等),通过接收客户端的请求并向客户端发送HTTP响应数据。 HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)...

    java jsp Cookie学习资料

    java jsp Cookie学习资料 Cookie以键-值对的方式记录信息,服务器利用响应报头Set-Cookie来发送Cookie

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

    2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 ...

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

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

    移动IPv6(报头和工作流程)

    该ppt是关于移动IPv6的一个经典描述,包括其报头和基本的工作流程

    如何计算UDP报头的checksum

    UDP报头只有4个字段,分别是:源端口号、目的端口号、报文长度和报头checksum,其中的报头checksum这个字段在IPv4中并不是强制的,但在IPv6中是强制的,本文介绍UDP报头中checksum的计算方法,并给出相应的源程序,...

Global site tag (gtag.js) - Google Analytics