我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用java模拟简单的tomcat方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用java模拟简单的tomcat方法

本篇内容介绍了“如何使用java模拟简单的tomcat方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们现在已经会使用tomcat了,但tomcat具体的原理还很模糊,下面我们使用java来简单模拟一下tomcat,实现游览器访问8888端口,然后得到一个网页进行展示。注意:这只是简单模拟

我们接下来将会使用java里面的io和网络的知识。首先先简单一点,游览器访问8888端口,然后输出一句话,编写代码如下

@Test    public void myTomcat() throws IOException {        // 在 8888 端口进行监听        ServerSocket serverSocket = new ServerSocket(8888);        //当服务器没有关闭的时候一直等待连接        while (!serverSocket.isClosed()){            //得到socket用于通讯            Socket socket = serverSocket.accept();            //得到输出流            OutputStream outputStream = socket.getOutputStream();            //写入数据            outputStream.write("this is myTomcat".getBytes());            //关闭输出流和socket            outputStream.close();            socket.close();        }        //关闭服务器        serverSocket.close();    }

我们使用firefox进行访问,访问的网站为localhost:8888,firefox访问后的显示为:

如何使用java模拟简单的tomcat方法

可以看见,已经成功实现。注意 ,必须使用firefox,使用geogle和edge都不可以,原因是他们没有解析tcp协议的数据。

我们在次基础上进一步加深,让游览器访问服务器时,服务器返回一个html的文件,然后游览器进行展示,编写代码如下

@Test    public void myTomcat() throws IOException {        // 在 8888 端口进行监听        ServerSocket serverSocket = new ServerSocket(8888);        //当服务器没有关闭的时候一直等待连接        while (!serverSocket.isClosed()) {            //得到socket用于通讯            Socket socket = serverSocket.accept();            //得到输出流            OutputStream outputStream = socket.getOutputStream();            //得到输入流            BufferedInputStream bufferedInputStream = new BufferedInputStream(                    new FileInputStream("class="lazy" data-src/hello.html"));            int len = 0;            byte[] bytes = new byte[1024];            while ((len = bufferedInputStream.read(bytes)) != -1) {                //写入数据                outputStream.write(bytes, 0, len);            }            //关闭输出流和socket            outputStream.close();            socket.close();        }        //关闭服务器        serverSocket.close();    }

html文件如下

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>hello</title></head><body>    <h2>this is myTomcat</h2></body></html>

运行java文件后,游览器访问localhost:8888,显示如下

如何使用java模拟简单的tomcat方法

我们可以看见我们已经成功了,但是游览器并没有把这个解析为html,这个问题展示先不说,现在我们已经用java实现了一个最简单tomcat,后面会慢慢的深入。

“如何使用java模拟简单的tomcat方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用java模拟简单的tomcat方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用java模拟简单的tomcat方法

本篇内容介绍了“如何使用java模拟简单的tomcat方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!我们现在已经会使用tomcat了,但
2023-06-29

在ASP中如何使用简单Java类

这篇文章主要介绍在ASP中如何使用简单Java类,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方式一:把Java类注册成ActiveX组件步骤一:创建一个Java类,命名为Test.javapublic class
2023-06-03

Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法

最近在工作中遇到了遇到了一个需求需要将TIPTOP中的数据导出成XML并上传到FTP主机中,但是4GL这方面的文档比较少最终决定使用Oracle调用Java的方法,在使用的过程中发现有很多的坑,大部分的博客只粗略的介绍了下导致耗费了很多时间,在这里分2个博文详
Oracle调用Java方法(上)如何使用LoadJava命令和如何将简单的Jar包封装成Oracle方法
2020-12-29

Mysql 游标的简单使用方法

一、游标简介 1、游标简介 游标是一个存储在MySQL服务器上的数据库查询,它不是一条select语句,而是被该语句检索出来的结果集。有了游标可以方便的对该结果集进行逐行处理。 游标的设计是一种数据缓冲区的思想,用来存放SQL语句执行的结果。游标是一种能从包括
Mysql 游标的简单使用方法
2019-10-02

Javaweb如何使用Maven工具与Tomcat的方法

小编给大家分享一下Javaweb如何使用Maven工具与Tomcat的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Maven工具1,关于mavenMav
2023-06-29

如何使用tomcat部署Jenkins的升级方法

这篇文章主要为大家展示了“如何使用tomcat部署Jenkins的升级方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用tomcat部署Jenkins的升级方法”这篇文章吧。使用tomc
2023-06-04

如何在java虚拟机中使用jvm方法

这篇文章主要介绍了如何在java虚拟机中使用jvm方法,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!使用下面代码:for (int i = 0; i <10000; i++) {CglibWapper
2023-06-06

如何使用Python的简化方法

这篇文章给大家分享的是有关如何使用Python的简化方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。逻辑回归的目标是什么?在逻辑回归中,我们希望根据一个或多个自变量(X)对因变量(Y)进行建模。这是一种分类方法
2023-06-04

如何使用JS简单实现apply、call和bind方法

这篇文章主要讲解了“如何使用JS简单实现apply、call和bind方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用JS简单实现apply、call和bind方法”吧!1.方法介
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录