servlet是什么
先介绍一些概念:
- Java web服务器:处理客户端发送的HTTP请求,然后把http响应返回给客户端的应用软件
- web容器:也称为Servlet容器或Servlet引擎,是Web服务器中处理servlet交互、管理servlet生命周期的软件模块,有时不严格区分服务器与容器,如tomcat可以说是容器也可说是web服务器
- web应用(webapp):一个web应用程序,如新闻网站,一个web应用可以包含多个servlet
Java Servlet是处理HTTP请求的Java对象,它在web容器中运行,web容器包含在web服务器中。
如下图:
Javaweb服务器可以同时运行多个Java Web应用程序,Java Web应用程序可以包含多个Servlet。
Java web应用程序也可以包含servlet之外的其他组件,如Java Server Pages (JSP)。
HTTP Request 与 HTTP Response
浏览器向Java web服务器发送一个HTTP请求,web服务器检查请求是否指向某个servlet,如果是,servlet容器将找出目标servlet,然后将请求传递给目标servlet处理。容器通过调用servlet.service()
方法处理请求,并生成响应返回给浏览器。
servlet 容器
Java servlet容器通常在Java web服务器中运行。一些常见的开源Java web服务器有: