Servlet没有main()方法。它们受控于另外一个Java应用,这个Java应用称为容器。html
Tomcat就是这样一个容器。若是Web服务器应用(如Apache)获得一个指向某个servlet的请求(而不是其余请求,如请求一个普通的静态HTML页面),此时服务器不是把这个请求交给servlet自己,而是交给部署该servlet的容器。要由容器向servlet提供HTTP请求和响应,并且要由容器调用servlet的方法,如doPost()或doGet()。web
个人理解:Tomcat就是这样的一个Web容器。tomcat
线程结束,容器把响应对象转换为一个HTTP响应,把它发回给客户,而后删除请求和响应对象。安全
不想贴代码,贴图吧。si mi ma sen服务器
咱们写的serlvet都是继承于HttpServlet类,通常写的时候都要覆盖doGet()和doPost()方法。若是想看HttpServlet的源码,能够到官网上下载:官网首页->左边Download tomcat8->看下面的图多线程
书上说了一大堆,看不懂。but,书上总结了:架构
部署一个servlet的图片:上一节有讲到那些xml标签,不会的能够翻一下笔记。spa
大佬的传送门:JSP开发的MVC架构线程
采用MVC,不只要求业务逻辑与表示分离……实际上,业务逻辑甚至根本不知道有表示存在。3d
Servlet&JSP世界中的MVC:
J2EE应用服务器包括一个Web容器和一个EJB容器。
Tomcat是一个Web容器,而不是一个完整的J2EE应用服务器。
J2EE服务器包括:Servlet规范、JSP规范、EJB规范。
Q:那Tomcat是一个独立的Web容器啰……这是否是说也存在独立的EJB容器呢?
A:EJB容器都做为完整J2EE服务器的一部分,但独立的web容器依然存在(Tomcat)。独立的Web容器一般配置为一个与HTTP Web服务器(Apache)协做,不过Tomcat容器自己就能做为一个基本的HTTP服务器。可是在HTTP服务器功能方面,Tomcat没有Apache那么健壮,因此最多见的非EJB Web应用一般会结合使用Apache和Tomcat,Apache做为HTTP Web服务器,Tomcat做为Web容器。
因此在看书的时候遇到Web服务器(HTTP服务器)就不用管了,由于Tomcat里面有一个小的HTTP服务器。我是这样理解的。