Web服务器TomCat快速入门(从安装到部署)

简介: Web服务器TomCat快速入门(从安装到部署)

什么是Web服务器?


Web 服务器是一个应用程序,对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加的便捷。

Web 服务器是安装在服务端的一款软件,我们可以将自己的 Web 项目部署到 Web 服务器软件中,当 Web 服务器软件启动后,部署在 Web 服务器软件中的资源就可以通过浏览器来访问。Web 服务器主要的功能是提供网上信息浏览服务。

1.1.png

既然 Web 服务器是一款软件,那么我们一定有很多的选择,这里我们使用的的是 TomCat ,TomCat 是 Apache 的一款轻量级 Web 服务器,提供了对 JSP 和 Servlet 的支持,之所以选择 TomCat,不仅因为它免费开源,而且具有操作简单,容易上手,跨平台实现等很多的优点,占有市面上大部分份额。

初学者入门学习 TomCat 主要从下面几个方面入手:

  • 相关概念
  • 安装,卸载,启动,关闭,配置和部署项目
  • IDEA 中创建 Maven Web项目
  • IDEA 中使用 TomCat 部署项目


下面我们首先从相关概念和基本使用方面入手,做一个详细的解读。

相关概念


TomCat 是 Apache 软件基金会的一个核心项目,是一个免费的轻量级的 Web 服务器,支持 Servlet / JSP 等少量的 JavaEE 规范,Servlet ,JSP 是动态网站使用的技术,被称为动态资源,而之前已经学习的 HTML,CSS,JavaScript 则是静态资源。每个人访问静态网站时的效果都是相同的,无法实现像登录这样的功能。

JavaEE 是指企业级 Java 开发,其中包含了 13 项技术规范,这些规范在 Java 中被称为接口,例如之前已经接触过的 JDBC。学习 TomCat 时要学习的规范是 Servlet 和 JSP。

因为 TomCat 支持 Servlet / JSP 的规范,所以 TomCat 也被称为 Web 容器,Servlet 容器,Servlet 需要依赖 TomCat 才能运行。

基本使用


下载安装


直接在官网下载 TomCat 压缩包即可,因为 TomCat 是绿色版软件,下载完成的压缩包直接解压即为安装成功。解压时,尽量选择没有中文和特殊字符的文件路径下,否则后期部署项目时可能会出现问题。

1.2.png

下面是 TomCat 的文件中的目录结构,如图:

1.3.png

可执行文件目录中存放了两种类型的可执行文件,其中 .bat 文件是 windows 系统的可执行文件。webapps 文件目录则用于项目的安装部署。

卸载


由于 TomCat 是一款绿色软件,所以卸载也十分的方便,只需要删除 TomCat 目录即可。

启动


在 TomCat 文件夹中,找到 bin 目录中的 start.bat ,双击运行。

1.4.png

这里可能会遇到很多问题,例如控制台窗口一闪而过,表示 TomCat 启动失败,这个问题大部分是由于 JAVA_HOME 环境变量配置问题导致的,你要做的就是检查你的 JAVA_HOME 配置是否有问题。

为什么在启动 TomCat 时需要关心 Java 环境变量的配置呢?不难看出,TomCat本身也是由 Java 编写的,在 TomCat 文件中就存放了其运行依赖的 jar 包。在 TomCat 启动时,会用到 Java 的环境,所以错误的 Java 环境变量导致了 TomCat 启动失败。

当然导致 TomCat 的启动失败还可能是其他的一些原因,例如端口号被占用等,这里不在赘述。

关闭


关闭 TomCat 有三种方式:

  • 直接关闭命令行窗口:强制关闭
  • 执行 bin / shutdown.bat :正常关闭
  • 在命令行窗口使用快捷键 Ctrl + c :正常关闭


配置


解决启动过程中控制台窗口乱码的问题:在 conf / logging.prooperties 中修改配置文件为:

java.util.logging.ConsoleHandler.encoding = GBK


造成控制台中文乱码的原因是 windows 的控制台默认字符编码方式为 GBK,而 TomCat 默认使用 UTF-8 的方式编码。

有时可能因为端口号被占用的问题导致 TomCat 启动失败,此时我们可以通过修改程序占用的端口号解决问题。TomCat 默认的端口号为 8080,要想修改 TomCat 的启动端口号,则需要修改 conf / server.xml ,如下:

<Connector port="80" protocol="HTTP/1.1"
 connectionTimeout="20000"
 redirectPort="8443" />


HTTP 协议使用的端口号是 80,如果将 TomCat 的端口号改为 80,则访问 TomCat 时将不用输入端口号。

部署


在使用 TomCat 部署 Web 项目时,只需要将项目放在 webapps 目录下,即完成部署。

一般情况下 JavaWeb 项目会被打成 war 包,然后我们将这个 war 包放置到 webapps 目录下,TomCat 就会自动解压这个 war 文件。

在 TomCat 文件中,本身自带了 Web 项目,我们可以尝试在浏览器中访问这个项目。如下图:

1.5.png

第一步:启动 TomCat。

双击 bin/ start.bat ,启动 TomCat。如图:

1.6.png

第二步:在浏览器中访问部署到 Web 服务器中的项目,直接输入 localhost 即可,前提是我们已经将 TomCat 占用的端口号改为 80。

1.7.png

关闭 TomCat 服务器,此时浏览器已经无法访问到这个 Web 项目,如图:

1.8.png

在大型 IDE 中开发 JavaWeb 项目时,我们每次部署项目都要将代码打包并且手动拷贝到 TomCat 文件目录中的 webapps 中,这样的操作十分的繁琐,所以,我们要学习如何在 idea 中使用 TomCat。在学习在 idea 中使用 TomCat 之前,先要学会在 idea 中创建 Maven Web 项目,这些内容都放在了下一章中。

目录
相关文章
|
2月前
|
弹性计算 监控 负载均衡
|
3月前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
123 1
|
3月前
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
147 60
|
2月前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
56 3
|
2月前
|
NoSQL 容灾 MongoDB
MongoDB主备副本集方案:两台服务器使用非对称部署的方式实现高可用与容灾备份
在资源受限的情况下,为了实现MongoDB的高可用性,本文探讨了两种在两台服务器上部署MongoDB的方案。方案一是通过主备身份轮换,即一台服务器作为主节点,另一台同时部署备节点和仲裁节点;方案二是利用`priority`设置实现自动主备切换。两者相比,方案二自动化程度更高,适合追求快速故障恢复的场景,而方案一则提供了更多的手动控制选项。文章最后对比了这两种方案与标准三节点副本集的优缺点,指出三节点方案在高可用性和数据一致性方面表现更佳。
|
2月前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
3月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
570 3
|
3月前
|
NoSQL Linux PHP
|
3月前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
243 1