简介及目录结构
Apache Tomcat 是一个 Servlet 容器,是应用(Java)服务器,可在其中部署 Java Web 应用。
Tomcat 的目录结构主要包括以下几个重要的文件夹和文件:
apache-tomcat/
├── bin/ # 启动和停止 Tomcat 的脚本
│ ├── catalina.sh # Unix/Linux 启动脚本
│ ├── catalina.bat # Windows 启动脚本
│ ├── startup.sh # 启动 Tomcat 的脚本
│ ├── shutdown.sh # 停止 Tomcat 的脚本
│ └── ...
├── conf/ # Tomcat 配置文件
│ ├── server.xml # 主要的服务器配置文件
│ ├── web.xml # 默认的 Web 应用程序配置
│ ├── context.xml # 应用程序上下文配置
│ └── ...
├── lib/ # Tomcat 运行所需的库文件
│ ├── servlet-api.jar # Servlet API
│ ├── jsp-api.jar # JSP API
│ └── ...
├── logs/ # Tomcat 生成的日志文件
│ ├── catalina.out # 主日志文件
│ ├── localhost.log # 本地访问日志
│ └── ...
├── webapps/ # 部署的 Web 应用程序
│ ├── ROOT/ # 默认的 Web 应用
│ ├── examples/ # 示例应用
│ └── ...
├── work/ # Tomcat 运行时生成的临时文件
│ └── Catalina/ # 运行时编译的 JSP 文件
├── temp/ # 临时文件
└── README.txt # Tomcat 的说明文件
bin/:包含启动和停止 Tomcat 的脚本文件。你可以在这里找到startup.sh和shutdown.sh等脚本。
conf/:存放 Tomcat 的配置文件,包括:
server.xml:主要的服务器配置文件,定义了服务器、服务和连接器等。
web.xml:全局的 Web 应用程序配置。
context.xml:应用程序的上下文配置。
lib/:包含 Tomcat 运行所需的所有 Java 库(JAR 文件)。
logs/:存放 Tomcat 生成的日志文件,包括访问日志和错误日志。
webapps/:这是部署 Web 应用程序的目录。你可以在这里放置 WAR 文件或解压的 Web 应用目录。ROOT/ 目录是默认的 Web 应用。
work/:Tomcat 运行时生成的临时文件,主要用于存储编译后的 JSP 文件。
temp/:存放临时文件。
README.txt:包含 Tomcat 的基本说明和使用指南。
入门示例
下面是一个简单的 Tomcat 入门实例,展示如何创建和部署一个基本的 Servlet 应用程序。
1. 环境准备
安装 Tomcat:下载并安装 Apache Tomcat,可以从 Tomcat 官网 获取最新版本。
安装 JDK:确保你已经安装了 JDK,并且配置了JAVA_HOME环境变量。
2. 创建一个简单的 Servlet
1. 创建项目结构
在你的工作目录中,创建以下结构:
MyWebApp/
├── WEB-INF/
│ ├── web.xml
└── HelloServlet.java
2. 编写HelloServlet.java
在MyWebApp目录下创建HelloServlet.java文件,并添加以下代码:
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 request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().println("
Hello, World!
");}
}
3. 编写web.xml
在WEB-INF目录下创建web.xml文件,并添加以下内容:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
3. 编译 Servlet
在命令行中,进入MyWebApp目录并编译 Servlet:
javac -cp "path/to/tomcat/lib/*" HelloServlet.java
编译完成后,会在当前目录下生成一个 .class 文件,再在WEB-INF目录下新建一个classes目录,并将生成的 .class 文件移动到该目录下:
MyWebApp/
├── WEB-INF/
│ ├── web.xml
│ └── classes/
│ └── HelloServlet.class
└── HelloServlet.java
4. 部署到 Tomcat
将整个MyWebApp目录压缩为MyWebApp.war文件,或直接将MyWebApp目录放入 Tomcat 的webapps目录中。
5. 启动 Tomcat
进入 Tomcat 的bin目录。
在命令行中运行以下命令启动 Tomcat:
Windows:
catalina.bat start
Linux/Unix:
./catalina.sh start
6. 访问应用
打开浏览器,访问以下 URL:
http://localhost:8080/MyWebApp/hello
你应该会看到页面显示Hello, World!。
7. 停止 Tomcat
要停止 Tomcat,可以在bin目录下运行以下命令:
Windows:
catalina.bat stop
Linux/Unix:
./catalina.sh stop
参考:ChatGPT