如何使用java模拟简单的tomcat方法
导读:本文共1634字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 我们现在已经会使用tomcat了,但tomcat具体的原理还很模糊,下面我们使用java来简单模拟一下tomcat,实现游览器访问8888端口,然后得到一个网页进行展示。注意:这只是简单模拟我们接下来将会使用java里面的io和网络的知识。首先先简单一点,游览器访问8888端口,然后输出一句话,编写代码如下@TestpublicvoidmyTomcat()th... ...
目录
(为您整理了一些要点),点击可以直达。我们现在已经会使用tomcat了,但tomcat具体的原理还很模糊,下面我们使用java来简单模拟一下tomcat,实现游览器访问8888端口,然后得到一个网页进行展示。注意:这只是简单模拟
我们接下来将会使用java里面的io和网络的知识。首先先简单一点,游览器访问8888端口,然后输出一句话,编写代码如下
@TestpublicvoidmyTomcat()throwsIOException{//在8888端口进行监听ServerSocketserverSocket=newServerSocket(8888);//当服务器没有关闭的时候一直等待连接while(!serverSocket.isClosed()){//得到socket用于通讯Socketsocket=serverSocket.accept();//得到输出流OutputStreamoutputStream=socket.getOutputStream();//写入数据outputStream.write("thisismyTomcat".getBytes());//关闭输出流和socketoutputStream.close();socket.close();}//关闭服务器serverSocket.close();}
我们使用firefox进行访问,访问的网站为localhost:8888,firefox访问后的显示为:
可以看见,已经成功实现。注意,必须使用firefox,使用geogle和edge都不可以,原因是他们没有解析tcp协议的数据。
我们在次基础上进一步加深,让游览器访问服务器时,服务器返回一个html的文件,然后游览器进行展示,编写代码如下
@TestpublicvoidmyTomcat()throwsIOException{//在8888端口进行监听ServerSocketserverSocket=newServerSocket(8888);//当服务器没有关闭的时候一直等待连接while(!serverSocket.isClosed()){//得到socket用于通讯Socketsocket=serverSocket.accept();//得到输出流OutputStreamoutputStream=socket.getOutputStream();//得到输入流BufferedInputStreambufferedInputStream=newBufferedInputStream(newFileInputStream("src/hello.html"));intlen=0;byte[]bytes=newbyte[1024];while((len=bufferedInputStream.read(bytes))!=-1){//写入数据outputStream.write(bytes,0,len);}//关闭输出流和socketoutputStream.close();socket.close();}//关闭服务器serverSocket.close();}
html文件如下
<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>hello</title></head><body><h2>thisismyTomcat</h2></body></html>
运行java文件后,游览器访问localhost:8888,显示如下
我们可以看见我们已经成功了,但是游览器并没有把这个解析为html,这个问题展示先不说,现在我们已经用java实现了一个最简单tomcat,后面会慢慢的深入。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
如何使用java模拟简单的tomcat方法的详细内容,希望对您有所帮助,信息来源于网络。