Apache Tomcat 是一个开源的 Java Servlet 容器和 Web 服务器,用于运行 Java Web 应用程序。它由 Apache 软件基金会开发和维护,支持多种 Java EE 规范,包括 Java Servlet、JavaServer Pages (JSP)、Java Expression Language 和 Java WebSocket。
主要功能
- Servlet 容器:Tomcat 能够运行 Java Servlets,这些是用于处理 HTTP 请求和响应的 Java 类。
- JSP 引擎:Tomcat 支持 JavaServer Pages (JSP),允许开发者使用 HTML 和 Java 代码混合来生成动态网页。
- WebSocket 支持:Tomcat 支持 WebSocket 协议,允许在客户端和服务器之间进行双向通信。
- HTTP 服务器:Tomcat 也可以作为一个 HTTP 服务器来提供静态内容,如 HTML、CSS 和 JavaScript 文件。
使用场景
- 开发和测试:Tomcat 常用于开发和测试 Java Web 应用程序,因为它易于配置和使用。
- 生产环境:虽然 Tomcat 主要用于开发和测试,但它也可以部署在生产环境中,特别是对于中小型应用程序。
安装和配置
-
下载 Tomcat:
- 从 Apache Tomcat 官方网站 下载最新版本的 Tomcat。
-
解压缩:
- 将下载的压缩文件解压到一个目录中。
-
配置环境变量(可选):
- 设置
CATALINA_HOME环境变量指向 Tomcat 的安装目录。
- 设置
-
启动 Tomcat:
- 在
bin目录下运行startup.bat(Windows)或startup.sh(Linux/Mac)。
- 在
-
访问 Tomcat:
- 打开浏览器,访问
http://localhost:8080,你应该会看到 Tomcat 的欢迎页面。
- 打开浏览器,访问
示例
部署一个简单的 Servlet
-
创建一个 Servlet:
package com.example; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/hello") public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html"); resp.getWriter().write("<h1>Hello, Tomcat!</h1>"); } } -
编译并打包:
- 使用 Maven 或 Gradle 将项目打包为一个 WAR 文件。
-
部署到 Tomcat:
- 将生成的 WAR 文件复制到 Tomcat 的
webapps目录。
- 将生成的 WAR 文件复制到 Tomcat 的
-
访问 Servlet:
- 打开浏览器,访问
http://localhost:8080/your-app-name/hello。
- 打开浏览器,访问
通过以上步骤,你可以在 Tomcat 上运行一个简单的 Java Web 应用程序。