【愚公系列】2023年10月 Java教学课程 119-Tomcat介绍和基本使用

在这里插入图片描述

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏


🚀一、 Tomcat介绍

🔎1.什么是Web服务器

概念:

Web服务器是一种计算机程序,它接收客户端的HTTP请求,并向客户端发送HTTP响应,通常通过HTTP协议与客户端进行通信。在Web服务器上存储着网络上的网页、文件等资源,并将其发送给客户端浏览器。

常见的Web服务器:

  1. Apache HTTP Server:Apache是最流行的Web服务器之一,免费开源,跨平台,可在大多数操作系统上运行。

  2. Nginx:Nginx是另一款广泛使用的开源Web服务器,它具有高性能、低内存占用和高并发处理能力。

  3. Microsoft IIS:Microsoft Internet Information Services(IIS)是Windows操作系统的Web服务器,它与Microsoft的其他产品(如ASP.NET和Windows Server)相集成,对微软编写的Web应用程序提供了支持。

  4. Lighttpd:Lighttpd是轻量级的Web服务器,有较高的性能和低内存占用,适合高并发的Web应用场景。

  5. Tomcat:Tomcat是一个Java应用服务器,用来运行Java Web应用程序,它也可以作为Web服务器使用。

🔎2.Tomcat下载与安装

Tomcat是一款常用的Java Web服务器,可以将Web应用程序部署在其上,完成对外服务的功能。

以下是Tomcat的下载和安装步骤:

  1. 下载Tomcat:前往Apache Tomcat官网(https://tomcat.apache.org/)下载你想要的Tomcat版本。建议选择Stable版本。

  2. 安装Tomcat:解压下载好的Tomcat压缩包到任意目录下,比如D盘根目录下,得到一个类似apache-tomcat-9.0.43的目录。

  3. 配置环境变量:在系统环境变量中添加变量CATALINA_HOME,值为Tomcat目录的绝对路径,比如D:\apache-tomcat-9.0.43。

  4. 启动Tomcat:执行Tomcat目录下的bin目录中的startup.bat(Windows)或startup.sh(Linux)启动Tomcat。

  5. 测试Tomcat:在浏览器中输入http://localhost:8080,如果出现Tomcat欢迎页面,说明Tomcat已经成功安装启动。

至此,Tomcat的下载和安装就完成了。

🦋2.1 Tomcat各版本所需支持

Tomcat是一个Java Servlet容器,用于在Web服务器上运行Java Servlet和JSP(Java Server Pages)应用程序。以下是Tomcat各版本所需的支持:

  1. Tomcat 7:
  • 支持Java SE 6或更高版本
  • 推荐使用Java SE 7或更高版本
  • 需要JSP 2.2和Servlet 3.0规范支持
  1. Tomcat 8:
  • 支持Java SE 7或更高版本
  • 需要JSP 2.3和Servlet 3.1规范支持
  1. Tomcat 9:
  • 支持Java SE 8或更高版本
  • 需要JSP 2.3和Servlet 4.0规范支持

值得注意的是,Tomcat 9不再支持Java SE 6和7。因此,如果您要使用Tomcat 9,您需要将Java升级到Java SE 8或更高版本。

🦋2.2 Tomcat目录结构详解

Tomcat是一个常用的Java Web服务器,其目录结构如下:

  1. bin:存放Tomcat可执行文件,如startup.bat(启动Tomcat)、shutdown.bat(关闭Tomcat)等。

  2. conf:存放Tomcat的配置文件,如server.xml(服务器配置文件)、web.xml(应用程序配置文件)等。

  3. lib:存放Tomcat运行所需要的jar包,如servlet-api.jar(servlet API接口)、jsp-api.jar(JSP API接口)等。

  4. logs:存放Tomcat的日志文件,如catalina.out(Tomcat的标准输出文件)、access_log(访问日志)等。

  5. temp:存放Tomcat的临时文件,如编译后的Java文件等。

  6. webapps:存放Web应用程序文件,如你自己开发的应用程序和Tomcat自带的应用程序。

  7. work:存放Tomcat编译后的Servlet、JSP等文件。

这些目录和文件对于Tomcat的运行和管理都十分重要,开发者和管理员需要熟悉这些目录和文件并合理运用。

在这里插入图片描述

🚀二、Tomcat基本使用

🔎1. Tomcat启动和停止

Tomcat服务器的启动文件在二进制文件目录中

  • startup.bat

Tomcat服务器的停止文件也在二进制文件目录中

  • shutdown.bat

其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

启动后,通过浏览器访问 http://localhost:8080能看到Apache Tomcat的内容就说明Tomcat已经启动成功。
在这里插入图片描述
注意: 启动的过程中,控制台有中文乱码,需要修改conf/logging.prooperties
在这里插入图片描述

🔎2.Tomcat的配置

Tomcat的配置主要包括server.xml和web.xml两个文件。下面分别对这两个文件进行详细介绍和示例。

  1. server.xml

server.xml是Tomcat中最重要的配置文件之一,它包含了Tomcat的各种设置和属性。下面是一个简单的server.xml的示例:

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
    <Resource name="jdbc/TestDB" auth="Container" type="javax.sql.DataSource"
               maxActive="100" maxIdle="30" maxWait="10000"
               username="root" password="password" driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/test"/>
  </GlobalNamingResources>

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase" />
      </Realm>

      <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

        <Context path="" docBase="test" reloadable="true" />
      </Host>
    </Engine>
  </Service>
</Server>

上面的示例中有几个重要的配置项:

  • <Listener>:主要用于监听器的配置。可以监听Tomcat的生命周期事件和部署事件等。
  • <GlobalNamingResources>:配置全局的命名空间资源,用于共享在Tomcat服务器上的资源对象,如数据库连接池等。
  • <Service>:Tomcat中的某一服务配置。一个Tomcat实例可以拥有多个Service。
  • <Connector>:连接器配置,主要负责监听端口和接受用户请求。
  • <Engine>:Servlet引擎配置,用于管理和调度Servlet组件。
  • <Host>:虚拟主机配置,用于定义Tomcat服务的虚拟主机。可以定义多个虚拟主机。
  1. web.xml

web.xml是Web应用程序的配置文件,主要是关于Web应用程序解析和部署方面的配置。下面是一个简单的web.xml的示例:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                             http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
  <display-name>Test Web Application</display-name>
  <description>Test Web Application</description>

  <context-param>
    <param-name>cacheEnabled</param-name>
    <param-value>true</param-value>
  </context-param>

  <servlet>
    <servlet-name>testServlet</servlet-name>
    <servlet-class>com.example.TestServlet</servlet-class>
    <init-param>
      <param-name>dbUrl</param-name>
      <param-value>jdbc:mysql://localhost:3306/test</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>testServlet</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <filter>
    <filter-name>cacheFilter</filter-name>
    <filter-class>com.example.CacheFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>cacheFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <listener>
    <listener-class>com.example.TestServletContextListener</listener-class>
  </listener>
</web-app>

上面的示例中有几个重要的配置项:

  • <context-param>:应用程序级别的初始化参数配置。可以在应用程序中访问这些参数。
  • <servlet>:Servlet组件配置。定义了Servlet的名称、类和初始化参数。
  • <servlet-mapping>:Servlet组件的URL映射配置。将Servlet映射到指定的URL。
  • <filter>:过滤器配置,用于在请求和响应之间执行某些操作。
  • <filter-mapping>:过滤器和URL之间的映射配置。
  • <listener>:监听器配置,用于当Web应用程序中的某些事件发生时执行操作。

除了上述常见的配置项之外,还有很多其他的配置项可以根据需要进行配置,比如缓存、会话管理、SSL等。

🔎3.部署

Tomcat的部署过程如下:

  1. 下载Tomcat并解压缩,在解压后的文件夹中找到bin目录。
  2. 根据需要修改以下配置文件:
    • server.xml:修改监听端口和访问路径等配置。
    • web.xml:修改Servlet、过滤器等配置。
    • context.xml:修改数据库连接等配置。
  3. 将需要部署的Web应用程序(如.war文件)放到Tomcat的webapps目录下。
  4. 启动Tomcat服务,可以通过启动脚本startup.sh(Linux/MacOS)或startup.bat(Windows)来启动。
  5. 在浏览器中输入访问路径,例如http://localhost:8080/项目名,即可查看部署的Web应用程序。

需要注意的是,在部署过程中还需要注意权限问题,确保Tomcat服务有权限访问所需要的配置文件和部署的Web应用程序。


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值