Tomcat 使用入门

简介及目录结构

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 的说明文件
  1. bin/:包含启动和停止 Tomcat 的脚本文件。你可以在这里找到startup.shshutdown.sh等脚本。

  2. conf/:存放 Tomcat 的配置文件,包括:

    • server.xml:主要的服务器配置文件,定义了服务器、服务和连接器等。
    • web.xml:全局的 Web 应用程序配置。
    • context.xml:应用程序的上下文配置。
  3. lib/:包含 Tomcat 运行所需的所有 Java 库(JAR 文件)。

  4. logs/:存放 Tomcat 生成的日志文件,包括访问日志和错误日志。

  5. webapps/:这是部署 Web 应用程序的目录。你可以在这里放置 WAR 文件或解压的 Web 应用目录。ROOT/ 目录是默认的 Web 应用。

  6. work/:Tomcat 运行时生成的临时文件,主要用于存储编译后的 JSP 文件。

  7. temp/:存放临时文件。

  8. 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("<h1>Hello, World!</h1>");
    }
}

3. 编写web.xml

WEB-INF目录下创建web.xml文件,并添加以下内容:

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
         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">

    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

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

  1. 进入 Tomcat 的bin目录。

  2. 在命令行中运行以下命令启动 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

posted @ 2024-11-16 09:33  Higurashi-kagome  阅读(3)  评论(0编辑  收藏  举报