Tomcat

发布于:2024-04-30 ⋅ 阅读:(25) ⋅ 点赞:(0)

一、什么是Tomcat

Tomcat 是一个 Http服务器,里面帮助我们部署了许多网站

  1. Tomcat 是Java圈子中广泛使用的 HTTP 服务器(HTTP 服务器有很多种,Nginx是各个领域中最知名的,但是由于Tomcat相比于Nginx可以更好地与Java适配,故Java圈子中多用Tomcat)
  2. Tomcat 是一个 webapp 的容器
    • 容器是一个很宽泛的概念,叫容器的有很多
    • webapp 是指的是网站(由后端代码 + 前端代码构成),同时一个 Tomcat 服务器上可以部署多个网站
    • Servlet 就是依赖 Tomcat 运行的
  3. 默认端口:Tomcat 有两个默认端口,一个是8080,一个是8005。一个服务器运行时,可以绑定多个端口
    • 8080:业务端口,负责正常接收http请求
    • 8005:管理端口,负责进行一些管理上的操作,如远程控制 Tomcat 关闭等
  4. 功能
    • 部署网站
    • 提供了一系列API接口(被Tomcat取名为Servlet),供程序员调用,以便更快速地编写Java代码。需要注意的是,Servlet其实已经是一个比较原始的API了,现在已经逐渐被Spring取代了。

二、如何使用 Tomcat

(1)下载安装

下载地址 — 官网 Apache Tomcat

  1. 关于 Apache

    • 起源
      (1)最开始是一个开源的 HTTP 服务器,因为做得很好,逐渐吸引了一大批开源开发者,他们在一起构建了一个社区,这个社区也被命名为Apache。所以 Apache 既可以指 一个HTTP服务器,又可以指一个社区名。

      (2)Tomcat 就是Apache 社区下一个开源的HTTP服务器。当然,除了Tomcat,该社区还有开发了许多程序

    • 既然都是HTTP服务器,为什么不用 Apache 而是用 Tomcat:
      Apache 服务器不支持Java开发,Tomcat则支持

  2. 下载操作

    • 版本:大版本选择 Tomcat8,小版本无所谓
    • 压缩包:选择 zip压缩包,解压缩后能直接用(把包删掉就是卸载掉这个软件了)
  3. 关于 Tomcat 的跨平台性

    Tomcat 自身就是用Java写的,这使得它可以在任何安装了 Java 运行时环境(JRE)或 Java 开发工具包(JDK)的平台上运行,即实现了跨平台

  4. 注意点

    因为 Tomcat 是使用Java编写的,所以要想运行Tomcat,电脑上必须要有JDK

(2)认识 Tomcat 目录

在这里插入图片描述

  1. bin:binary(二进制),一般是可执行程序。该文件夹里面有一些jar包和脚本文件。

    • 一些重要文件
      • startup.bat:在windows上运行这个文件,就能启动tomcat
      • startup.sh:在Linux上运行这个文件,就能启动 tomcat
    • 脚本
      • .sh 和 .bat:是linux 上的shell脚本,.bat 是在 windows上的批处理脚本
      • 什么是脚本:脚本(script),可以把多个要执行的命令给串起来,系统上有很多的命令,执行一个命令能完成某个简单工作。但如果要完成一个复杂工作,需要多个命令配合执行。相当于是一个剧本,告诉演员先做什么,后做什么,什么条件下做什么
  2. conf:放 Tomcat 的配置文件

    • server.xml:最主要的配置文件,描述了Tomcat服务器默认端口等信息。
      配置文件又很多种格式:ini、yaml、propetry、xml等,这里Tomcat选用了xml作为其配置文件
  3. lib:Tomcat 运行时依赖的一些库,里面全是 jar 包

  4. logs:放Tomcat的日志文件,后续调试 Tomcat 程序要用
    在这里插入图片描述

  5. temp:临时文件夹,目前不用关心

  6. webapps:放网站的
    一个Tomcat服务器上可以有多个网站,我们把写好并打包好的网站代码放到该目录下,就能加载运行该网站了

(3)启动Tomcat

  1. 如何启动Tomcat:双击startup.bat文件,如果命令行最后会出现【start server startup in XXXms】,此时,就表示Tomcat服务器正常启动了
    在这里插入图片描述

  2. 关于启动多个Tomcat:一台机器上,默认情况是无法启动多个Tomcat的,这是因为默认端口号已经被占用了。如果想启动多个,只需要更改端口号即可,但Tomcat本身可以部署多个网站,所以一般,我们启动一个Tomcat即可。

  3. 什么是服务器
    服务器主机和服务器程序都可以叫“服务器”

    • 服务器程序:一个程序绑定了一个端口号,客户端就可以通过IP+端口号的方式给服务器发请求了。Tomcat 和 Mysql都是一个服务器程序。
    • 服务器主机:一个电脑一直开机且上面一直运行一个服务器程序
    • 服务器的作用:接收客户端发来的请求,返回响应,即给客户端提供服务。HTTP 服务器的客户端就是浏览器。
  4. 关于黑框服务器
    服务器一般都是这样的,没有“图形化界面”,就是一个控制台程序

  5. 关于乱码问题

    • 原因:Tomcat 使用utf8编码,Windows 的 cmd 程序则默认使用 gbk
    • 解决方法
      • (1)更改 Tomcat 字符集 --------->不推荐,目前Tomcat主流编码方式还是utf8
      • (2)更改 Windows 的 cmd 字符集 --------->改不了
      • (3)使用IDEA的终端来展示Tomcat日志 --------->优解,因为IDEA默认是utf8编码,此时就可以避免乱码
  6. 闪退问题:大多是因为没有找到JDK路径

    • 首先,我们要明确报错的信息是什么,把startup文件拖到cmd中执行,就可以解决出错闪退看不到报错信息的问题了、

    • 如果是找不到JDK路径,我们就需要去配置对应的环境变量

      • CATALINA_HOME ---- > Tomcat 自己的路径
      • JAVAHOME---- > JDK 路径
  7. 什么是环境变量

    • 环境变量是操作系统维护的一种变量,当多个进程相互配合,需要进行一些数据上的交互上时可以使用该变量(本质上可以理解为是一种进程间通信的手段)
    • 环境变量分为用户变量和系统变量。用户变量给当前这台计算机的用户使用,系统变量则是给所有用户使用,但是由于现在计算机的普及,一台计算机一般都由一个用户使用,所以写哪都没差

(4)访问 Tomcat

浏览器输入【127.0.0.1:8080】,就会显示 Tomcat 的欢迎页面

(5)给 Tomcat 部署一个简单的 webapp

  1. 搞一个HTML文件将其放到webapps目录下
    • 如果是放在ROOT目录下,可以直接放文件/把文件放创建的文件夹里
    • 如果是放在 webapps 目录下,只能创建文件夹
  2. 放完之后要重启Tomcat,否则Tomcat不知道你部署了一个新文件

(6)打开部署的webapp

  1. 方法

    • 双击:直接双击html文件就可以打开,但这是浏览器通过本地的文件资源管理器直接访问磁盘文件,然后打开的,未涉及Tomcat
    • 通过Tomcat网络访问:浏览器输入地址访问
  2. 区别:
    第二种方法可以让别的电脑也能访问到该页面(实现跨主机)

  3. 关于网络访问方式的理解

    (1)根据NAT机制,如果不是一个局域网是无法直接访问的,我们此时需要借助一个拥有外网IP的设备,这里使用云服务器。我们只要在云服务器上下载Tomcat,再把网站部署到上面即可 --------> 42.192.83.143:8080/XXX(使用外网服务器的IP)

    (2)注意,手机端可能无法打开。因为手机端的浏览器认为该地址是IP地址,无域名,直接给拦截了,可以尝试手机端的Chrome浏览器解决。

三、IDEA 集成Tomcat

3.1 使用场景

  1. 为什么要集成
    如果我们需要修改代码,就需要重复上述 2.6 ~ 2.8 三步操作,十分繁琐,而操作代码又是常有的事。所以,我们让 IDEA 和 Tomcat集成起来,使用 IDEA 图形化界面把代码都部署到Tomcat上,达成“一键式打包&部署”的过程。
  2. 如何集成:通过Smart Tomcat 插件集成
  3. 关于插件的选择:使用Smart Tomcat,普遍性强(两种版本都能用)且用法更简单
    • 社区版IDEA:只能用Smart Tomcat
    • 专业版IDEA:能使用Smart Tomcat 和 TomcatServer(IDEA内置的功能)

3.2 如何安装插件:

  1. 路径:File ----> settings ---->Plugins ----> Smart Tomcat

    • Marketplace:插件市场
    • Installed:已经装好的插件
      在这里插入图片描述
  2. if 插件市场加载不出来

    • 去官网下载,手动安装。下载之后会得到一个Jar包。把 Jar 包拖到IDEA界面上,就能安装插件
    • 插件市场链接

在这里插入图片描述

3.3 配置 Tomcat

项目首次使用 Tomcat时 ,需要配置一下

  1. Smart Tomcat 的工作原理
    • 并不是把你的 webapp 拷贝到 webapps目录下,而是会创建另一个一个临时目录,让Tomcat加载这个临时目录中的webapp。
    • 该目录的配置就是下面的【Catalina base】,对于老版本插件来说,固定不可以更改的,新版可以配置路径。
  2. 关于配置信息
    • Name:是用来在IDEA中显示的,可以不配置

    • Tomcat Server:配置电脑上 Tomcat 的路径

    • Catalina base
      在这里插入图片描述

    • Deployment directory:IDEA会把这个目录加载到Tomcat中。一般默认即可,不需要配置

    • Context path:之前直接拷贝出来的war包的名字

    • Server port 和 Admin port:分别是业务端口和管理端口
      注意,这两个端口号是自己另外配的,并不需要和Tomcat里 conf 文件夹中的server.xml 里的端口号一致,只需要保证浏览器后续发送的http请求的端口和这里一致即可
      在这里插入图片描述

3.4 检验 -----> 确认你的webapp是否被正确加载

  1. Smart Tomcat 方式
    点右上角的开始键,Smart Tomcat 由于只是加载你这一个webapp,如果加载失败,会直接启动失败
  2. 拷贝 war包 方式
    如果是拷贝war的方式,Tomcat就需要加载多个webapp,如果加载失败,就只会有日志,如果出现了“部署成功”,就代表webapp被正确加载了。
  3. 关于日志:本身就是红色的,并非出现了报错
  4. 关于下面的蓝色链接:此处只是提示你的contextPath是什么,点进去肯定404,url还是需要手动输入

网站公告

今日签到

点亮在社区的每一天
去签到