首页 > 其他分享 >Tomcat 使用入门

Tomcat 使用入门

时间:2024-11-16 09:30:10浏览次数:1  
标签:xml Web 入门 Tomcat 文件 使用 目录 HelloServlet

简介及目录结构

Apache Tomcat 是一个 Servlet 容器,是应用(Java)服务器,可在其中部署 Java Web 应用。

Apache Tomcat 的目录结构主要包括以下几个重要的文件夹和文件。下面是一个典型的 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][18395257]

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 -d . 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

标签:xml,Web,入门,Tomcat,文件,使用,目录,HelloServlet
From: https://www.cnblogs.com/Higurashi-kagome/p/18549019

相关文章

  • 线性方程组 入门概念
    解释如下概念入门对比齐次vs非齐次线性vs非线性微分vs求导vs积分方程组vs矩阵乘法齐次线性方程组永远存在零解基础解系vs通解存在非零解↔︎A不满秩r(A)+η的数量=n(x的列有多长)非齐次线性方程组Ax=b的2个解互减,即ξ₁-ξ₂是Ax=0导出组的解Ax=b的......
  • 基于STM32通过TM1637驱动4位数码管详细解析(可直接移植使用)
    目录1. 单位数码管概述2. 对应编码2.1 共阳数码管2.2 共阴数码管3. TM1637驱动数码管3.1 工作原理3.1.1 读键扫数据3.1.2 显示器寄存器地址和显示模式3.2 时序3.2.1 指令数据传输过程(读案件数据时序)3.2.2 写SRAM数据地址自动加1模式3.2.3 ......
  • 20141116电路板维修入门之集成电路代换技巧篇
    一、直接代换直接代换是指用其他IC不经任何改动而直接取代原来的IC,代换后不影响机器的主要性能与指标。其代换原则是:代换IC的功能、性能指标、封装形式、引脚用途、引脚序号和间隔等几方面均相同。其中IC的功能相同不仅指功能相同;还应注意逻辑极性相同,即输出输入电平极性、电......
  • 零基础入门Hadoop:IntelliJ IDEA远程连接服务器中Hadoop运行WordCount
    今天我们来聊一聊大数据,作为一个Hadoop的新手,我也并不敢深入探讨复杂的底层原理。因此,这篇文章的重点更多是从实际操作和入门实践的角度出发,带领大家一起了解大数据应用的基本过程。我们将通过一个经典的案例——WordCounter,来帮助大家入门。简单来说,这个案例的目标是从一个文本文......
  • C++ 游戏开发入门教程:从基础到实践
    引言C++是一种广泛应用于游戏开发的编程语言,因其高性能和对硬件资源的精细控制能力,成为了许多大型游戏和引擎的首选语言。无论是开发2D还是3D游戏,C++都能够提供高效的计算和优异的性能,尤其在需要处理大量数据和实时计算的情况下,如渲染、物理计算和网络通信等。本文将介......
  • Python 网络爬虫入门教程
    引言网络爬虫(WebCrawler)是一种通过编程从互联网上抓取数据的技术,常用于数据分析、信息采集等任务。Python作为一门功能强大且易于使用的编程语言,拥有丰富的爬虫库和工具,如Requests、BeautifulSoup和Scrapy,使得网络爬虫的开发变得更加高效便捷。本文将以一个简单的实例,介......
  • Groq:一个完美平替ChatGPT的AI厂商,免费使用10种大模型,安装部署指南
    groqhttps://console.groq.com/playgroundhttps://groq.com/WelcometoGroqChat™,we'regladyou'rehere!PleaseenjoythisfastAIinferencedemoPoweredbytheGroqLPU™.Furtherresources:Developers,buildwithfastfreeAPIkeysforLLMs......
  • 接口测试JMeter使用教程 (三)---接口关联
    我们在测试过程中一定会有这种情况,上一个接口要抓取数据传给下一个接口,也就是上一个接口的相应数据做为下一个接口的请求数据那我们来做这样一个登录然后加入购物车,先捋一下思路。1、登录----token(鉴权)2、加入购物车(把token带过去)那我们先登录后看返回的数据后置处理器......
  • 视频编码基础入门
    文章目录前言一、视频编码的目标二、视频编码基本流程1.采样与颜色空间转换2.变换编码(例如DCT)3.量化4.熵编码5.运动补偿和帧间预测6.编码输出三、视频编码的关键技术1.帧类型2.GOP(GroupofPictures)结构3.比特率控制四、常见的视频编码标准H.264(AVC)H.265......
  • 第七:Nessus使用
    一.启动Nessus服务1.Windows和macOS启动:Nessus在安装后通常会自动启动服务2.Linux启动2.1.启动Nessus服务:sudosystemctlstartnessusd2.2.启动时可以使用:sudosystemctlenablenessusd2.2.1.来确保Nessus在系统启动时自动启动二.访问Nessus界面1.打开浏览器(......