首页 > 编程语言 >java用main方法通过socket 接收实现http

java用main方法通过socket 接收实现http

时间:2023-06-24 14:35:15浏览次数:43  
标签:printWriter http socket acceptSocket new println java main

运行main方法后,可以接收http 请求, 适合简单的服务器测试

 

代码如下:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class Demo02 {
    public static void main(String[] args) throws IOException {
        final ServerSocket serverSocket = new ServerSocket(8887);
        System.out.println("server start on 8887 ...");

        while (true) {
            Socket acceptSocket = serverSocket.accept();

            // 接收内容
            BufferedReader reader = new BufferedReader(new InputStreamReader(acceptSocket.getInputStream()));
            String line = reader.readLine();
            System.out.println("accept : " +line);

            // 返回内容
            printStream(acceptSocket, "<h1>Hello World</h1>");

            // 关闭流
            reader.close();
            acceptSocket.close();
        }


    }

    private static void printStream(Socket acceptSocket, String test) throws IOException {
        PrintStream printWriter = new PrintStream(acceptSocket.getOutputStream());
        printWriter.println("HTTP/1.0 200 OK");
        printWriter.println("Content-Type:text/html;charset=UTF-8");
        printWriter.println();
        printWriter.println(test);
        printWriter.close();
    }
}

 

编译后得到  Demo02.class, 放置到有java 环境的服务器, 执行

java Demo02

即可访问该服务器的8887 端口。

 

标签:printWriter,http,socket,acceptSocket,new,println,java,main
From: https://www.cnblogs.com/txt1024/p/17501079.html

相关文章

  • Java程序设计实践
    Java程序设计实践Java训练集7~12总结与心得训练集链接前言:训练集7~12主要巩固了面向对象基础的继承、多态、接口等内容,考察了面向对象进阶的相关知识点,如覆盖,常用的容器。题目的综合性较强,难度适中。目录:设计与分析踩坑心得改进建议总结设计与分析1.课程成绩统计......
  • 深入理解Spring Boot:简化Java应用开发的利器
    这篇文章主要介绍了SpringBoot的理论知识和核心概念。【摘要】SpringBoot是一个用于简化Java应用开发的框架,通过提供自动化配置和约定优于配置的原则,使得开发人员可以快速构建独立、可执行的、生产级别的应用程序。本文将深入探讨SpringBoot的核心理论和关键概念,帮助读者更好......
  • java 异常处理,事务管理,事务共用,事务传递
    异常处理,事务管理,事务共用,事务传递1.在每个controller添加trycatch2.定义全局异常处理器/***全局异常处理器*/@RestControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(Exception.class)//捕获所有异常publicResultex(Exception......
  • JavaScript 之 高级程序设计 基础篇 (一)
    导读此篇文章为作者拜读JavaScrpit第四版(红宝石)的笔记内容、适用于有经验的程序员阅读;作者java开发出身。在之前前后端不分离的时代使用esayUIJQuery的时代经常写js相关代码。现在前后端分离的时代;前端工程日新月异、各种框架层出不穷;万变不离其中;学好js才是根本;很喜欢并......
  • JavaScript基础
    JavaScript基础简介JavaScript是由网景公司发明,起初命名为LiveScript,后来由于SUN公司的介入更名为了JavaScript为了确保不同的浏览器上运行的JavaScript标准一致,所以几个公司共同定制了JS的标准名命名为ECMAScriptJS的特点解释型语言类似于C和Java的语法结构动态语言......
  • Angular HTTPInterceptor 的使用一例
    假设你有一个Angular应用程序,其中有一个组件需要从服务器获取特定模型的数据。你可以使用上述方法将一个名为queryProductModel的查询参数添加到请求中,以便服务器能够根据该参数返回相应的模型数据。首先,你需要创建一个实现HttpInterceptor接口的拦截器。以下是一个示例的拦截器......
  • HTTP-响应数据格式
        ......
  • 详解Java反射机制
    前言反射(Reflection)是Java程序开发语言的特征之一,它允许运行中的Java程序对自身进行检查,并能直接操作程序的内部属性和方法。主要有两种方式:一种是“传统的”RTTI,它假定我们在编译时已经知道了所有的类型;另一种是“反射”机制,它允许我们在运行时发现和使用类的信息。本篇就......
  • 无处不在 | 亚马逊云科技的 Java 生态
    Java自诞生以来就一直是热门的编程语言。得益于丰富的生态以及完善维护的包和框架,Java拥有着庞大的开发者社区。这个1995年诞生的计算机语言,以“一次编写,到处运行”的跨平台特性以及面向对象、泛型编程等现代语言的特性迅速成为了企业级应用乃至移动应用开发的首选。亚马逊......
  • JAVA笔记
    三元运算符x?y:z如果x==ture,则结果为y,否则结果为zJava中的三元运算符x?y:z可以简化一些if/else语句的书写,其中x是一个布尔表达式,如果x为true,则返回y,否则返回z。该运算符也称为条件运算符或三目运算符,因为它由三个操作数组成。例如,下面的代码使用if/els......