servlet是处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。
Servlet作为补充Web服务器功能的组件,需要依赖于Servlet容器才能运行
在浏览器中输入请求地址后,浏览器会依据IP地址及端口号找到对应的Web服务器,如果请求的是静态资源,Web服务器直接提供响应;如果请求的是动态资源,Web服务器的通信模块会将该请求传递给Servlet容器的通信模块,Servlet容器负责创建Servlet实例,并将请求中的数据解析出来传递给Servlet。在Servlet处理完数据之后,响应结果也是由容器的通信模块负责返回给Web服务器。后续的Servlet的销毁及管理都由容器来负责。
能够充当Servlet容器这个角色的有很多软件,如Tomcat、Weblogic、JBoss等。而这些Servlet容器不仅仅具备了管理Servlet组件的功能,也具备了Web服务器的一些功能,所以很多时候只要安装一个Tomcat软件就同时具备了Web服务器及Servlet容器的双重功能
1.客户端发送HTTP请求,这个请求首先会到达Tomcat内置Web服务器
2.Tomcat内置Web服务器接收到请求后,会将请求发送到Servlet容器
3.Servlet容器接收到请求后会加载Servlet,产生Servlet实例后会向其传递表示请求和响应的对象,也就是HTTPServletRequest对象和HTTPServletResponse对象,然后Servlet实例使用请求对象请求客户端的请求信息并进行响应的处理
4.该Servlet实例处理完成后有可能将请求发送给其他的Servlet继续进行处理
5.全部处理完毕后,处理结果通过显示对象发送回客户端浏览器