为什么要有tomcat?

首先想想,假如没有tomcat,那么我们该如何实现一个web应用的部署呢?

如果没有tomcat帮忙,我们的web应用首先需要写一个主类和main函数,然后运行这个main函数,这个函数的内部需要监听埠(如8080),然后需要解析HTTP协议,接著去分析一个http请求,看看web路径是否匹配(如http:localhost:8080/myWeb中的myWeb),再看看请求的资源(是静态资源还是调用方法),如果是调用方法,那么还要去找到相应该方法所在的类,再通过类载入器去实例化这个Servlet(为什么要通过反射?因为是事先不知道要实例化哪个类),实例化之后再根据反射去调用对应的方法,然后返回处理结果,main函数最后要通过socket将数据返回给客户端。

想想都可怕,而其实一开始没有tomcat这种容器的时候也确实是这样做的。

tomcat的诞生就是为了解决这个问题,它负责监听埠号,负责解析http协议,负责载入和实例化一个Servlet,负责通过反射调用方法,负责将结果响应回去,而我们开发者从此只需要专注实现servlet方法就行了

回答完毕。

推荐阅读:

相关文章