java实现简单的tomcat(基础教程)

本文介绍了如何使用Java启动Tomcat,包括从Bootstrap类的main方法开始,建立基于TCP协议的socket连接,以及Tomcat中BIO、NIO、AIO三种IO模式的应用。通过示例展示了使用BIO实现一个简单的Tomcat服务。
摘要由CSDN通过智能技术生成

1.如何启动?

main方法是程序的入口,tomcat也不例外,查看tomcat源码,发现main是在Bootstrap 类中的;

2.如何建立连接?

要通讯,必须要建议socket连接,我们需要使用哪种socket,是根据它使用的哪种协议进行判断的。tcp协议or udp协议?http协议本身属于tcp协议,因此我们选择的socket是基本tcp协议的socket。在tomcat中,StandardServer 中 await() 方法具体实现了 socket连接。

3.使用哪种io模式?

a:BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高;
b:NIO方式适用于连接数目多且连接比较短(轻操作)的架构,比如聊天服务器;
c:AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器
d:tomcat 使用了aio,bio、nio三种io模式,它们不同的应用各自发挥其优点。这里通过bio简单实现一个tomcat服务。

代码示例:

package com.io;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.nio.ByteBuffer;
import java.nio.channels.ServerSocketChannel;
import java.nio.channels.SocketChannel;

public class ChannelSocketTest {
   
    public void start() throws IOException {
     
        // 1.新建NIO通道
        ServerSocketChannel ssc = ServerSocketChannel.open();
        ssc.configureBlocking(false); // 设置为非阻塞状态
        ServerSocket socket = ssc.socket();
        Syst
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值