千家信息网

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

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,本篇内容介绍了"如何使用java模拟简单的tomcat方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2025年01月22日如何使用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访问后的显示为:

可以看见,已经成功实现。注意 ,必须使用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("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文件如下

        hello    

this is myTomcat

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

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

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

0