当我将包含jsp和java文件的项目放在apache tomcat的Webapp文件夹中时,当我通过浏览器访问它时,我怎么能在浏览器中看到我所有的jsp,但没有apache tomcat就不行。所以我的问题是 apache tomcat 到底做了什么?
3 回答
Apache 和 Tomcat 是两个不同的东西。
Apache是一个简单的 http 服务器,当您请求页面时,它会为您的页面提供服务。
Tomcat是一个Web 容器,用于处理您的 servlet、jsps 及其映射。
如果您向 apache 请求 servlet 或 jsp 的 servlet,则 apache 将使用 tomcat 检查所有 url 映射并以浏览器可以解释的格式生成结果。在这一代之后,生成的内容将移交给apache,Apache 会将响应发回给您,您的浏览器会将其显示给您。
如果您请求简单的 html 或图像,Apache会为您提供它,而无需任何 tomcat 角色。
Apache Tomcat 是一个 web 容器,它允许运行基于 servlet 和 JavaServer Pages 的 web 应用程序。大多数现代 Java Web 框架都基于 servlet 和 JavaServer Pages,并且可以在 Apache Tomcat 上运行,例如 JavaServer Faces、Struts、Spring。
Apache Tomcat 还默认在 8080 端口上提供了一个 HTTP 连接器,例如 Tomcat 也可以用作 HTTP 服务器,即使 Tomcat 的性能不如 Apache HTTP 服务器的性能。
那是因为 JSP 不是 HTML 文件。JSP 是生成 HTML 文件的模板。
浏览器显示 HTML 文件。
Tomcat 是一个从 JSP 文件生成 HTML 的 Web Cotainer。虽然它有很多。JSP 被翻译成相应的 java 文件(它们是 Servlet),然后通常在第一次调用 JSP 时对其进行编译和实例化。您最好开始阅读 Servlet 和 JSP 的生命周期。