Tomcat简介

作者: 造就不平凡 | 来源:发表于2021-02-18 19:40 被阅读0次

    Tomcat是什么

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,一般在中小型系统和并发访问用户不是很多的场合下被普遍使用。

    那Web应用服务器是什么呢?

    Web应用服务器是什么

    早期的 Web 应用主要是用于浏览新闻等静态页面,通过HTTP 服务器( Apache、Nginx)向浏览器返回静态 HTML,浏览器解析 HTML页面后将结果呈现给用户即可以满足需求。

    但随着互联网的发展,仅仅是浏览静态页面已经无法满足人们的需求,于是Sun公司推出了Servlet技术,通过该技术可以在服务端运行Java小程序与HTTP服务器进行交互获取动态结果。

    Web容器就是与浏览器动态交互的程序,它是一种服务程序,在服务器通过一个端口提供相应服务的程序,专门处理从客户端发出的请求

    因此Web容器,就是一个HTTP服务器+Servet容器。比如Tomcat和Jetty就是一个web容器,它们不仅仅有HTTP服务器的功能,还有Servlet容器的功能。

    那Servlet容器又是什么呢?

    Servlet容器是什么

    Servlet容器是Sun公司推出Servlet技术后,为了实现HTTP服务器与业务类之间解耦发明的中间层组件。

    Servlet 容器是用来加载和管理业务类。HTTP 服务器不直接跟业务类打交道,而是把请求交给 Servlet 容器去处理,Servlet 容器会将请求转发到具体的 Servlet,如果这个 Servlet 还没创建,就加载并实例化这个 Servlet,然后调用这个 Servlet 的接口方法。因此 Servlet 接口其实是 Servlet 容器跟具体业务类之间的接口

    Tomcat与其他容器的区别

    在了解tomcat是什么后,我们知道除了Tomcat之外,还有其他的容器,那几个容器之间有什么区别呢?

    Apache:支持HTML页面,常与Tomcat一起使用。与Tomcat绑定使用时,Apache转发请求,Tomcat处理与Servlet和JSP相关的请求。

    Jetty:也是一个开源的Servlet容器和Web容器;有时也可以将Jetty容器实例化成一个对象,可以为一些独立运行(stand-alone)的Java应用提供网络和Web连接。Jetty相对Tomcat较为轻量级,也更为灵活,易于开发者二次开发,一般在普通的互联网应用可以使用Jetty。

    但在大规模的企业场景时,Tomcat更为适合。因为Tomcat除了遵循Java Servlet规范之外,还扩展了大量J2EE的特性来满足企业级应用的需求。

    Jboss:一个基于J2EE并开放源代码的应用服务器,主要用于管理EJB的容器和服务器,但是JBoss的核心服务不包括Servlet/JSP的WEB容器,一般是与Tomcat或Jetty绑定使用。

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。一般主要是用作反向代理或静态页面处理。

    Tomcat应该怎么设计呢?

    通过上面我们了解到tomcat是什么,能做什么,那如果是你来实现这么一个容器,你会怎么设计呢?

    下一节将会说Tomcat是怎么设计的哦。

    相关文章

      网友评论

        本文标题:Tomcat简介

        本文链接:https://www.haomeiwen.com/subject/zeunxltx.html