最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用java模擬簡單的tomcat的方法詳解

 更新時間:2022年02月23日 15:24:02   作者:不服輸?shù)纳倌? 
這篇文章主要為大家詳細介紹了java模擬簡單的tomcat的方法,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

我們現(xiàn)在已經(jīng)會使用tomcat了,但tomcat具體的原理還很模糊,下面我們使用java來簡單模擬一下tomcat,實現(xiàn)游覽器訪問8888端口,然后得到一個網(wǎng)頁進行展示。注意:這只是簡單模擬

我們接下來將會使用java里面的io和網(wǎng)絡的知識。首先先簡單一點,游覽器訪問8888端口,然后輸出一句話,編寫代碼如下

@Test
    public void myTomcat() throws IOException {
        // 在 8888 端口進行監(jiān)聽
        ServerSocket serverSocket = new ServerSocket(8888);
        //當服務器沒有關(guān)閉的時候一直等待連接
        while (!serverSocket.isClosed()){
            //得到socket用于通訊
            Socket socket = serverSocket.accept();
            //得到輸出流
            OutputStream outputStream = socket.getOutputStream();
            //寫入數(shù)據(jù)
            outputStream.write("this is myTomcat".getBytes());
            //關(guān)閉輸出流和socket
            outputStream.close();
            socket.close();
        }
        //關(guān)閉服務器
        serverSocket.close();
    }

我們使用firefox進行訪問,訪問的網(wǎng)站為localhost:8888,firefox訪問后的顯示為:

可以看見,已經(jīng)成功實現(xiàn)。注意 ,必須使用firefox,使用geogle和edge都不可以,原因是他們沒有解析tcp協(xié)議的數(shù)據(jù)。

我們在次基礎(chǔ)上進一步加深,讓游覽器訪問服務器時,服務器返回一個html的文件,然后游覽器進行展示,編寫代碼如下

@Test
    public void myTomcat() throws IOException {
        // 在 8888 端口進行監(jiān)聽
        ServerSocket serverSocket = new ServerSocket(8888);
        //當服務器沒有關(guān)閉的時候一直等待連接
        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) {
                //寫入數(shù)據(jù)
                outputStream.write(bytes, 0, len);
            }
            //關(guān)閉輸出流和socket
            outputStream.close();
            socket.close();
        }
        //關(guān)閉服務器
        serverSocket.close();
    }

html文件如下

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

運行java文件后,游覽器訪問localhost:8888,顯示如下

我們可以看見我們已經(jīng)成功了,但是游覽器并沒有把這個解析為html,這個問題展示先不說,現(xiàn)在我們已經(jīng)用java實現(xiàn)了一個最簡單tomcat,后面會慢慢的深入。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!  

相關(guān)文章

  • 淺談Java8新特性Predicate接口

    淺談Java8新特性Predicate接口

    這篇文章主要介紹了淺談Java8新特性Predicate接口,文中有非常詳細的代碼示例,對正在學習java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • Java e.printStackTrace()案例講解

    Java e.printStackTrace()案例講解

    這篇文章主要介紹了Java e.printStackTrace()案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 基于surging跨網(wǎng)關(guān)跨語言進行緩存降級的問題小結(jié)

    基于surging跨網(wǎng)關(guān)跨語言進行緩存降級的問題小結(jié)

    surging是一款開源的微服務引擎,包含了rpc服務治理,中間件,以及多種外部協(xié)議來解決各個行業(yè)的業(yè)務問題,這篇文章主要介紹了如何基于surging跨網(wǎng)關(guān)跨語言進行緩存降級,需要的朋友可以參考下
    2024-05-05
  • Java中BigDecimal的基本運算(詳解)

    Java中BigDecimal的基本運算(詳解)

    下面小編就為大家?guī)硪黄狫ava中BigDecimal的基本運算(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 關(guān)于Java Spring三級緩存和循環(huán)依賴的深入理解

    關(guān)于Java Spring三級緩存和循環(huán)依賴的深入理解

    對于循環(huán)依賴,我相信讀者無論只是聽過也好,還是有過了解也好,至少都有所接觸。但是我發(fā)現(xiàn)目前許多博客對于循環(huán)依賴的講解并不清楚,都提到了Spring的循環(huán)依賴解決方案是三級緩存,但是三級緩存每一級的作用是什么,很多博客都沒有提到,本篇文章帶你深入了解
    2021-09-09
  • jenkins按模塊進行構(gòu)建遇到的問題及解決方案

    jenkins按模塊進行構(gòu)建遇到的問題及解決方案

    這篇文章主要介紹了jenkins按模塊進行構(gòu)建的問題及解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 淺析Java如何優(yōu)雅的避免那無處不在的空指針異常

    淺析Java如何優(yōu)雅的避免那無處不在的空指針異常

    在Java編程語言中,NullPointerException(簡稱NPE)是一種常見的運行時異常,本文主要來和大家講講如何優(yōu)雅的避免這些空指針異常,需要的可以參考下
    2024-03-03
  • JavaWeb實現(xiàn)簡單用戶發(fā)送郵件

    JavaWeb實現(xiàn)簡單用戶發(fā)送郵件

    這篇文章主要為大家詳細介紹了JavaWeb實現(xiàn)簡單用戶發(fā)送郵件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • java按照模板導出pdf或word文件詳細代碼

    java按照模板導出pdf或word文件詳細代碼

    有時候業(yè)務中我們需要使用pdf模板生成一份pdf文件,下面這篇文章主要給大家介紹了關(guān)于java按照模板導出pdf或word文件的相關(guān)資料,文中給出了詳細的代碼示例,需要的朋友可以參考下
    2023-11-11
  • Springboot項目實現(xiàn)將類從@ComponentScan中排除

    Springboot項目實現(xiàn)將類從@ComponentScan中排除

    這篇文章主要介紹了Springboot項目實現(xiàn)將類從@ComponentScan中排除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11

最新評論

图片| 合江县| 巴楚县| 阳泉市| 台中市| 长泰县| 浪卡子县| 石泉县| 筠连县| 黑河市| 利津县| 民和| 南通市| 文昌市| 黄龙县| 黑河市| 珲春市| 烟台市| 普兰店市| 大丰市| 厦门市| 通榆县| 黔西县| 花垣县| 常山县| 五原县| 乳山市| 平泉县| 滕州市| 乌恰县| 临安市| 根河市| 舞阳县| 繁峙县| 白朗县| 霍城县| 海盐县| 浑源县| 玉环县| 灵宝市| 泰和县|