[Java.Web][Servlet]常用请求头

response.setStatus(302);
response.setHeader("location", "/day04/1.html");

这段代码可以实现 页面重定向到  "/day04/1.html"

String data = "aaaaa";
System.out.println("原始数据大小:" + data.length());

ByteArrayOutputStream bout = new ByteArrayOutputStream();
GZIPOutputStream gout = new GZIPOutputStream(bout);
gout.write(data.getBytes());
gout.close();

byte[] gzip = bout.toByteArray();   // 得到压缩后的数据
System.out.println("压缩后大小:"+gzip.length);

// 通知浏览器数据采用压缩格式
response.setHeader("Content-Encoding", "gzip");
response.setHeader("Content-Length", String.valueOf(gzip.length));
response.getOutputStream().write(gzip);

这段代码可以实现 以压缩数据方式传递页面

response.setHeader("refresh", "3;url=http://baidu.com");

String data = "sss";
response.getOutputStream().write(data.getBytes());

这段代码可以实现 3秒后页面跳转到 http://baidu.com

response.setHeader("Content-type", "image/jpeg");
InputStream in = this.getServletContext().getResourceAsStream("/1-01.jpeg");
int len = 0;
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) > 0) {
    out.write(buffer, 0, len);
}

这段代码可以实现 打开页面后自动载入 /day05 目录下的 1-01.jpeg 图片。(图片与 WEB-INF 同一目录下。)

response.setHeader("content-disposition", "attachment;filename=3.jpg");
InputStream in = this.getServletContext().getResourceAsStream(
        "/1-01.jpeg");
int len = 0;
byte[] buffer = new byte[1024];
OutputStream out = response.getOutputStream();
while ((len = in.read(buffer)) > 0) {
    out.write(buffer, 0, len);
}

这段代码与上面的代码只第一行有区别,它的行为是让浏览器下载此图片并保存为  3.jpg。

时间: 2024-10-12 00:00:41

[Java.Web][Servlet]常用请求头的相关文章

[Java][Web]Request 获取请求头和数据

获取方式一 InputStream in = request.getInputStream(); int len = 0; byte buffer[] = new byte[1024]; while((len = in.read(buffer)) > 0) { System.out.println(len); System.out.println(new String(buffer,0,len)); } 获取方式二 String value  = request.getParameter("

HTTP常见响应状态码及解释、常用请求头及解释

1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分206 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求3XX Redirection(重定向状态码) 301 永久性重定向302 临时性重定向4XX Client Error(客户端错误状态码) 400 该状态码表示请求报文中存在语法错误401 该状态码表示发送的请求需

Java Web -- Servlet(1) 必备知识

学习Java WEB开发必备的基本概念: 1.WEB 本意是蜘蛛网和网的意思,在网页设计中我们称为网页的意思.现广泛译作网络.互联网等技术领域.表现为三种形式,即超文本(hypertext).超媒体(hypermedia).超文本传输协议(HTTP)等. 2.静态网页(可简单理解为html) 是指网页的内容是固定的,不会根据浏览器者的不同需求而改变.(实实在在保存在服务器上的文件) 3.动态网页 是指在接到用户访问要求后动态生成的页面,页面内容会随着访问时间和访问者发生变化(并不是独立存在于服务

Java Web servlet理解

一.有两种应用程序 1.桌面应用程序:需要下载,安装,更新等.如QQ,office等 2.web应用程序:就是我们开发的web项目,这不需要用户下载,只需要用户客户端联网,访问相应的互联网资源. 二.Http协议 HTTP是一个属于应用层的面向对象的超文本传输协议,基于TCP/IP协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.HTTP特点: (1)无连接:分为4个阶段:建立连接.发送请求.等待响应.关闭连接 优点:快速.简单.不占用网络服务器资源 缺点:速度由网络来决定,每次传输数据

JAVA WEB SERVLET 基础知识点

Servlet Servlet Servlet API 概述 Servlet 编写基础的Servlet应用程序 1编写和编译Servlet类 2应用程序的目录结构 3调用Servlet ServletRequest ServletResponse ServletConfig ServletContext GenericServlet 1 HTTPServlet 2 HttpServletRequest 3 HttpServletResponse 处理HTML表单 使用部署描述符 掌握Servle

Java Web -- Servlet(11) HttpServletResponse详解(重定向)

当Web服务器收到客户端的http请求,(在程序继承HttpServlet的前提下)容器在调用Servlet的doGet()或doPost()方法时,会针对每一次请求创建一个HttpServletRequest接口的实例和一个HttpServletResponse接口的实例,封装成参数传给doGet()或doPost()方法. request和response分别代表客户端对Web服务器的请求 和 服务器对客户端的响应. HttpServlet的继承结构如下: ServletResponse的常

Java Web Servlet知识点讲解(二)

一.定义Servlet: public class HelloServlet extends HttpServlet { @Override  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("get method invoke"); PrintWriter ou

Java Web -- Servlet(5) 开发Servlet的三种方法、配置Servlet详解、Servlet的生命周期(2)

三.Servlet的生命周期 一个Java servlet具有一个生命周期,这个生命周期定义了一个Servlet如何被载入并被初始化,如何接收请求并作出对请求的响应,如何被从服务中清除.Servlet的生命周期被javax.servlet.Servlet这个接口所定义. 所有的Java Servlet都会直接地或间接地执行javax.servlet.Servlet接口,这样它才能在一个Servlet引擎中运行. Servlet引擎是Web 服务器按照Java Servlet API定制的扩展.S

Java Web -- Servlet(4) 开发Servlet的三种方法、配置Servlet详解、Servlet的生命周期(1)

一.实现Servlet接口 通过实现Servlet接口来了解Servlet的生命周期 (1)以规范的形式创建一个web应用(即在webapps目录下创建一个web应用) 创建web应用 (2)classes目录下创建一个.java(该java文件为实现Servlet接口) 创建文件夹MyFirstServlet.java 代码如下: package com.focus; import javax.servlet.*; import javax.servlet.http.*; import jav