首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Java 6 SE httpserver中设置http标头

在Java 6 SE HttpServer中设置HTTP标头,可以通过以下方法实现:

  1. 首先,创建一个HttpHandler,它将处理所有的HTTP请求。
代码语言:java
复制
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;

public class MyHttpHandler implements HttpHandler {
    @Override
    public void handle(HttpExchange httpExchange) {
        // 在这里设置HTTP标头
    }
}
  1. 在handle方法中,使用HttpExchange对象设置HTTP标头。
代码语言:java
复制
import com.sun.net.httpserver.Headers;

// ...

public void handle(HttpExchange httpExchange) {
    Headers headers = httpExchange.getResponseHeaders();
    headers.set("Content-Type", "text/plain");
    headers.set("Custom-Header", "Custom-Value");
    httpExchange.sendResponseHeaders(200, 0);
}

在上面的代码中,我们使用httpExchange.getResponseHeaders()方法获取响应头,然后使用headers.set()方法设置HTTP标头。在这个例子中,我们设置了Content-TypeCustom-Header标头。

  1. 最后,创建一个HttpServer实例,并将HttpHandler绑定到指定的URL。
代码语言:java
复制
import com.sun.net.httpserver.HttpServer;

public class Main {
    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/", new MyHttpHandler());
        server.start();
        System.out.println("Server started on port 8000");
    }
}

在上面的代码中,我们使用HttpServer.create()方法创建一个HttpServer实例,并将其绑定到本地的8000端口。然后,我们使用server.createContext()方法将MyHttpHandler绑定到根URL("/")。最后,我们使用server.start()方法启动HttpServer。

通过以上方法,您可以在Java 6 SE HttpServer中设置HTTP标头。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java6新特性及使用

Java6,在想要发布为WebService的类上加上@WebService的注解,这个类的方法就变为WebService方法了,再通过Endpoint.publish()方法发布这个服务。...原来JAXB是Java EE的一部分,JDK6,SUN将其放到了Java SE,这也是SUN的一贯做法。...下面用代码演示JDK6如何来用JAXB2: /** * Gender性别枚举类....十、JDBC 4.0 Java SE 6 所提供的诸多新特性和改进,值得一提的是为 Java 程序提供数据库访问机制的 JDBC 版本升级到了 4.0, 这个以 JSR-221 为代号的版本,提供了更加便利的代码编写机制及柔性...集合框架增强 Jdk6的集合框架的API更改数量要少于JDK5,更多地关注了规范的准确性和清晰度。即使在编写旧版本的程序时,我们也建议使用Java SE 6规范。

2K30
  • Dart服务器端 shelf包 原

    处理程序之间路由请求的中间件应确保更新每个请求的handlerPath和url。 这允许内部处理程序知道它们应用程序的位置,以便它们可以正确地执行自己的路由。...适配器也可能使用window.location和window.history浏览器合成HTTP请求,或者它可能直接将请求从HTTP客户端传递到Shelf处理程序。...如果收到多个具有相同名称的,则适配器必须按照RFC 2616第4.2节将它们折叠为用逗号分隔的单个。...如果以下条件均不为真,则适配器必须将分块传输编码应用于响应的正文并将其Transfer-Encoding设置为chunked: 状态代码小于200,或等于204或304。...Transfer-Encoding设置为identity以外的任何其他

    3.8K10

    jdk下httpserver源码解析

    写这篇博客之前我查了很久发现全网都没有一篇写httpserver源码解析的      所以今天就由我来为大家解析一下httpserver的源码。...(这里我会去掉其中的https部分的源码,只讲http部分,对httpserverhttps的实现感兴趣的读者可以尝试自己去阅读,这部分并不复杂)      第一次没有参考资料的情况下写这么长一篇源码解析...接下来我们来设置响应信息      Headers responseHeaders = he.getResponseHeaders();      // 以json形式返回,其他还有text/html...(这里我会去掉其中的https部分的源码,只讲http部分,对httpserverhttps的实现感兴趣的读者可以尝试自己去阅读,这部分并不复杂) 第一次没有参考资料的情况下写这么长一篇源码解析,...接下来我们来设置响应信息 Headers responseHeaders = he.getResponseHeaders(); // 以json形式返回

    52400

    12-Netty 高性能架构设计-基于Netty开发HTTP服务

    快速入门实例-HTTP 服务 D实例要求:使用IDEA创建Netty项目 Netty服务器6668端口监听,浏览器发出请求“http://localhost:6668/ 服务器可以回复消息给客户端“Hello...我是服务器5”,并对特定请求资源进行过滤 目的:Netty可以做Http服务开发,并且理解Handler实例和客户端及其请求的关系 看老师代码演示 新建HttpServer package com.dance.netty.netty.http...服务器 */ public class HttpServer { public static void main(String[] args) { NioEventLoopGroup...channelHandlerContext.writeAndFlush(httpResponse); } } } 测试 这里存在一个问题,那就是端口问题,之前是6668 chrome 访问直接被阻止 还有就是,返回的类型需要设置字符编码...的时候,同时请求了页面浏览器角 就是这个东西 修改HttpServerHandler package com.dance.netty.netty.http; import io.netty.buffer.ByteBuf

    50410

    Tomcat源码分析 之 手撕Java Web服务器需要准备哪些工作

    正文 作为后端开发人员,实际工作,Web 服务器的使用频率极高,而在众多 Web 服务器,Tomcat 作为不可或缺的重要框架,理应成为我们必须学习和掌握的重点。... HTTP 的通信模式,始终由客户端发起请求,服务器接收到请求后处理相应的逻辑,并在处理完成后返回响应数据。客户端接收完数据后,请求流程结束。... Java java.net.Socket 类用来表示一个套接字。...为此, Java ,我们使用 java.net.ServerSocket 来表示服务器端的套接字。 与 Socket 不同,ServerSocket 需要等待客户端的连接请求。...= null) { fis.close(); } } } } 总结 通过上述例子,我们惊喜地发现, Java 实现一个 Web 服务器其实简单明了,代码也非常清晰

    9210

    简单的 HTTP 调用,为什么时延这么大?

    2.2 进程指标 Java 程序进程指标主要看 GC、线程堆栈情况(注意:调用与被调用的机器都要看)。 Young GC 都非常少,而且耗时也 10ms 以内,因此没有长时间的 STW。...是不是越来越迷惑,一雾水,不知如何下手?...我们再来看看被调用方,也就是我们的后端 HTTP 服务,这个 HTTP 服务用的是 JDK自带的 HttpServer HttpServer server = HttpServer.create(new... Socket 编程,TCP_NODELAY 选项是用来控制是否开启 Nagle 算法。 Java ,为 ture 表示关闭 Nagle 算法,为 false 表示打开 Nagle 算法。...6. 总结 本文是从一个简单的 HTTP 调用,时延比较大而引发的一次问题排查过程。过程,首先由外而内的分析了相关问题,然后定位问题并验证解决方案。

    1.2K30

    探秘Tomcat——从一个简陋的Web服务器开始

    在这篇文章,我下载了tomcat6版本的代码,并将其导入到eclipse,时隔一年多,原来的项目还在,但是为显诚意,我还是重头做了一遍导入tomcat源码到eclipse的操作。   ...背景知识: HTTP请求:     请求方法——统一资源标识符URI——协议/版本     请求     实体 ?...HTTP共支持7请求方法 GET,POST,HEAD,OPTIONS,PUT,DELETE,TRACE HTTP响应     协议——状态码——描述     响应     响应实体段 Socket...    socket应用程序中用于从网络读取数据,实现不同计算机之间的通讯,实现一个socket需要知道对应应用程序的ip地址和端口号。     ...: 可以实现传递InputStream对象,处理与客户端通讯的Socket对象获取; 调用InputStream对象的read来获取HTTP请求的原始数据; parse方法用于解析HTTP请求的原始数据

    72270

    java代码构建简单http服务器和客户端

    请求方式(get、post、put、delete)+“空格”+URI+“空格”+http协议版本(0.9、1.0、1.1) eg:GET /hello.html HTTP/1.1 第二行:我们熟悉的请求...服务端 HttpServer.start(); } } 我们项目目录的webRoot文件夹下放入可访问的资源,通过浏览器URI(资源定位符)读取服务端资源,打开我们的浏览器,...本地ip+默认端口 脱离tomcat服务环境的一个web访问页面,是有点小意思啊,下面我们再来脱离客户端浏览器 构建http client package Http; import java.io.IOException...; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * Author:varCode...,关闭HttpServer测试类) 浏览器和tomcat都是实现了http规范,都能解析请求和构建响应,更何况tomcat还是java编写的服务器

    79950

    简单的 HTTP 调用,为什么时延这么大?

    2.2 进程指标 Java 程序进程指标主要看 GC、线程堆栈情况(注意:调用与被调用的机器都要看)。 Young GC 都非常少,而且耗时也 10ms 以内,因此没有长时间的 STW。...是不是越来越迷惑,一雾水,不知如何下手?...我们再来看看被调用方,也就是我们的后端 HTTP 服务,这个 HTTP 服务用的是 JDK自带的 HttpServer HttpServer server = HttpServer.create(new... Socket 编程,TCP_NODELAY 选项是用来控制是否开启 Nagle 算法。 Java ,为 ture 表示关闭 Nagle 算法,为 false 表示打开 Nagle 算法。...6. 总结 本文是从一个简单的 HTTP 调用,时延比较大而引发的一次问题排查过程。过程,首先由外而内的分析了相关问题,然后定位问题并验证解决方案。

    1.8K50

    Java实现调用HTTP请求的几种常见方式

    点击上方“芋道源码”,选择“设为星” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点发......并发源码 来源:blog.csdn.net/qq_16504067/ article/details/121114404 一、概述 二、Java调用http接口的方式 ---- 一、概述 实际开发过程...     * 5.若响应正常,处理HTTP响应内容;      * 6.释放连接。      ...DELETE特定操作的 URL 上对资源执行 exchange() URL上执行特定的HTTP方法,返回包含对象的ResponseEntity,这个对象是从请求体映射到的 execute() 在上执行特定的...headForHeaders() 发送HTTP HEAD请求,返回包含特定资源URL的HTTP optionsForAllow() 发送HTTP OPTIONS请求,返回对特定URL的Allow信息

    5.3K21

    Spring Cloud Gateway CORS 方案看这篇就够了

    点击上方“芋道源码”,选择“设为星” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点发......前后端分离目前很常见,调试时,会遇到两种情况的跨域: 前端页面通过不同域名或IP访问微服务的后台 例如前端人员会在本地起HttpServer 直连后台开发本地起的服务,此时,如果不加任何配置,前端页面的请求会被浏览器跨域限制拦截...我们用客户端版的PostMan做一个模拟,在请求里设置:Origin : * ,查看返回结果的: 不能用Chrome插件版,由于浏览器的限制,插件版设置Origin的Header是无效的 发现问题了...,根据我们appliation.yml 的配置,给Response添加了 Vary 和 Access-Control-Allow-Origin 的。...Origin的值与我们自己设置的是同一个,例如生产环境设置的都是自己的域名xxx.com或者开发测试环境设置的都是*(浏览器是无法设置Origin的值,设置了也不起作用,浏览器默认是当前访问地址),那么可以选用

    4.1K40

    tornado 简易教程

    2.3 httpserver 上一节我们说tornado.web.Application.listen()(示例代码的app.listen(8000))的方法,创建了一个http服务器示例并绑定到给定端口...我们创建了一个HTTP服务器实例http_server,因为服务器要服务于我们刚刚建立的web应用,将接收到的客户端请求通过web应用的路由映射表引导到对应的handler,所以构建http_server...; http报文的(header)增加自定义字段,如X-XSRFToken=itcast。...说明 对于请求体的数据要求为字符串,且格式为表单编码格式(与url的请求字符串格式相同),即key1=value1&key2=value2,HTTP报文Header的"Content-Type"...请求的完整资源标示,包括路径和查询字符串; path 请求的路径部分; query 请求的查询字符串部分; version 使用的HTTP版本; headers 请求的协议,是类字典型的对象,支持关键字索引的方式获取特定协议信息

    1.3K20
    领券