Tomcat-- 掌握汤姆猫,看这一篇文章就够了

文章目录

  • 一、Tomcat是什么
  • 二、Tomcat下载安装
  • 三、Tomcat目录结构介绍
  • 四、启动Tomcat
    • 1.启动失败的原因
  • 五、部署静态页面
    • 1.静态页面是什么
    • 2. 部署单个 HTML
    • 3.部署带有 CSS / JavaScript / 图片 的 HTML
    • 4.部署 HTML 到单独的目录中
  • 六、感想

一、Tomcat是什么

百度百科是这样说的:

  Tomcat 服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

  Tomcat是支持运行Servlet/JSP应用程序的容器,运行在jvm上,绑定IP地址并监听TCP端口。

  它是由Apache推出的一款免费开源的Servlet容器,可实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。它也具有传统的Web服务器的功能:处理Html页面。但是与Apache相比,在处理静态Html上的能力略逊一筹。

  Tomcat运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,因而深受java爱好者的喜爱,并得到了部分软件开发商的认可,和Apache一样,早已成为主流Web服务器的一种。

  

  往细的方面说:Tomcat 是一个 HTTP 服务器。HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式。我之前文章写过通过 ajax 和 Java Socket 分别构造了 HTTP 客户端。我们也同样可以通过 Java Socket 来实现HTTP 服务器,而 Tomcat 就是基于 Java 实现的一个开源免费,也是被广泛使用的 HTTP 服务器。


二、Tomcat下载安装

(1)打开这个网站:Apache Tomcat

在这里插入图片描述
在 Tomcat 官网下载,Tomcat 版本很多, 我们这里下载的使用 Tomcat 8。

我这里为什么选择Tomcat8呢?

  因为Tomcat的版本,和JDK以及Servlet的版本都是密切绑定在一起的,我电脑的JDK版本是8,因此我选择下载Tomcat8。有些同学的JDK可能用的是11甚至是17/18 ,这个时候下载的Tomcat版本最好统一。统一版本,统一环境,是个很重要的事情!尤其是以后咱们在工作中,公司用的是啥版本,咱们就用啥版本。


三、Tomcat目录结构介绍

对tomcat 目录解压缩之后, 可以看到如下结构:

在这里插入图片描述

  • 最上面显示的apache-tomcat-8.5.78这个,里面的8.几小版本无所谓,只要是8就行。

  • bin目录,存放各种启动、停止脚本的。里面的.bat后缀的文件是 windows的批处理文件。.sh 后缀的文件是linux的shell脚本的文件。其中startup.bat 启动服务,双击即可使用。
    在这里插入图片描述

  • conf:Tomcat的配置文件,是通过xml的格式来组织的。如果想修改下tomcat的端口号,可以在这里的server.xml文件进行修改,tomcat默认绑定的是8080端口。

在这里插入图片描述

  • lib:运行 tomcat 需要的类库。

  • logs:记载运行时的日志文件,我们有时需要查看日志,来发现定位一些问题。日志其实就是表示了Tomcat运行中的一些具体过程细节,就是通过类似于printIn这样的代码打印出来的结果。
    在这里插入图片描述

  • temp:临时文件夹。

  • webapps: 这个目录中放的是咱们部署的servlet程序,每个servlet程序,都是一个war后缀的文件(也是一种压缩包格式)tomcat 会自动把这个war解压缩,得到一个目录。每个war其实就对应了一个webapp(相当于是一个网站),在一个Tomcat上,允许你同时部署多个webapp(多个网站)。

我这里还没部署过,因此目录里面没有.war文件。
在这里插入图片描述

  • work:Tomcat 内部进行预编译的文件夹。

最后是一些文档,可自行阅读。

在这里插入图片描述

  在上面的这么多文件中,我们最关注的目录就是 webapps 目录。web applications 的简称,意思是用来存放 web 应用的文件夹。

一个具有独立完整功能的 “网站”,我们就可以称为一个 “web 应用”。例如 搜狗搜索 实现了独立完整的 “搜索引擎功能”,淘宝网 实现了独立完整的 “电商功能” 。一个 Tomcat 服务器上是可以同时部署多个这样的 web 应用的。这些 web 应用以目录的形式被放到 webapps 目录中。

  在webapps 目录里面,每个文件夹都对应着一个 web 应用, 可以在浏览器中分别访问每个 web 应用。


四、启动Tomcat

  在 bin 目录中,双击 startup.bat 即可启动 Tomcat 服务器看到形如以下内容的日志, 说明启动成功。

在这里插入图片描述

问:这里为什么会出现乱码的现象呢?

答:乱码的原因是 Tomcat 默认按照 UTF-8 的编码方式处理中文, 而 windows 的 cmd 默认是 GBK 编码。如果使用 Linux 或者 IDEA 中的终端来启动 Tomcat,则没有乱码问题。 但这里产生乱码不会影响我们对Tomcat的使用。

  在这里,我们要强行把cmd字符编码改成utf8也可以,但并不简单,因为cmd自身没有提供设置字符集的功能,这时我们需要修改电脑的注册表。

在这里插入图片描述
  这个注册表是Windows 系统的总的配置中心(总指挥部)。因此我们对于注册表一定要慎重修改,一旦这里改坏了,系统可能就挂了,我们就得重装系统了。


  

  当启动完成之后,在浏览器中输入 127.0.0.1:8080 即可看到 Tomcat 的默认欢迎页面。

在这里插入图片描述

有的同学在启动过程中,可能并不是很顺利,可能会出现一些问题。

1.启动失败的原因

(1)环境变量的问题。

  Tomcat要想能运行,得能够找到JDK 。如何才能找到JDK?取决于你的JDK到底安装在系统的哪个位置上了。

  我们可以打开环境变量查看,就可以看到最开始配置的环境变量位置了。

在这里插入图片描述
  因此,我们得先让Tomcaat找到这个jdk的位置,才能去调用。我们把运行的脚本直接拖到cmd中运行,就能看到运行失败的原因了。比如说下面,就显示了JAVA_HOME的环境变量配置出错。

在这里插入图片描述  实际上类似于上述环境变量,tomcat本身会尝试配置。一般来说, tomcat都可以自动配好了,但是不排除有些情况下tomcat自动配置不生效。这个时候就可以手动配置了。

  

我们如何手动配置?也很简单:

(1)搜索环境变量
在这里插入图片描述

(2)打开,新建一个环境变量

在这里插入图片描述
  变量值输入文件存放的路径就可:

在这里插入图片描述


(2)端口号被占用了

  Tomcat 启动的时候默认会绑定 8080 和 8005 端口。如果有其他进程已经绑定了这两个端口中的任意一个,都会导致 Tomcat 不能启动。

  在命令行中使用 netstat -ano | findstr 8080 确定看 8080 是否被其他进程绑定,把对方进程干掉,再重新启动 Tomcat 一般就可以解决问题。(如下图),形如这样的结果说明 8080 端口已经被占用. 占用的进程是 13348 这个进程。然后就可以在任务管理器中找到这个进程, 并干掉这个进程。

在这里插入图片描述


五、部署静态页面

1.静态页面是什么

静态页面也就是内容始终固定的页面. 即使 用户不同/时间不同/输入的参数不同 , 页面内容也不会发生变化。(除非网站的开发人员修改源代码, 否则页面内容始终不变)。

Tomcat 的主页 https://tomcat.apache.org/ 就是一个静态页面。
在这里插入图片描述

对应的, 动态页面指的就是用户不同/时间不同/输入的参数不同, 页面内容会发生变化.

而 B 站的主页 https://www.bilibili.com/ 就是一个典型的动态页面。

在这里插入图片描述


2. 部署单个 HTML

我们可以把自己写好的 HTML 部署到 Tomcat 中。

(1)在Tomcat 的 webapps/ROOT 目录中创建一个文件——test.html。
在这里插入图片描述

(2)写入内容:

在这里插入图片描述

(3) 在浏览器中通过 URL http://127.0.0.1:8080/test.html来访问。

在这里插入图片描述

【注意】 127.0.0.1 为环回 IP, 表示当前主机。只能在局域网内部访问,不能被其他的局域网直接访问。

那么,如何让tomcat真正做到让页面被外面的人访问,这就需要能够搞一个外网IP,去买一个云服务器,就有了一个外网IP。这里以后再写篇文章就讲。


3.部署带有 CSS / JavaScript / 图片 的 HTML

  

  实际开发时我们的 HTML 不仅仅是单一文件, 还需要依赖一些其他的资源: CSS, JavaScript, 图片等。这些资源也要一起部署过去。

我们把写好的html复制到Tomcat 的 webapps/ROOT 中。

在这里插入图片描述

然后在浏览器中通过 http://127.0.0.1:8080/blog_list.html 来访问页面。

在这里插入图片描述


4.部署 HTML 到单独的目录中

  实际开发中我们的 HTML 可能不止一个, 依赖的 CSS / JavaScript 文件也可能比较多. 这个时候就不适合全都拷贝到webapps/ROOT 目录中了(这就会显的比较乱)。我们可以创建一个单独的目录, 和 ROOT 并列, 来存放我们要部署的内容。

(1)在 webapps 中创建目录 blog, 和 ROOT 目录并列。

在这里插入图片描述

(2)在blog中创建文件。

在这里插入图片描述

(3)在浏览器中通过 http://127.0.0.1:8080/blog/blog_list.html 。

在这里插入图片描述
可以看到,同样可以访问到。

实际上,我们还可以把静态页面部署到远端的云服务器上,这样其他人也能访问我们的页面了。

部署在本机 Tomcat 上的页面只能在局域网内部访问, 而云服务器上的 Tomcat 可以被整个 互联网访问。
云服务器往往使用Linux 作为操作系统,这里博主暂时还在学习之中,以后再总结。


六、感想

  原来实际上搞一个网站也并非很难,一点点的接近,有点小开心。等我全部学会了之后,给对象也搞个专属网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/49727.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android版会说话的汤姆猫游戏源码

这是一款高仿了android版会说话的汤姆猫游戏源码,大家可以看看吧,非常不错的。 游戏介绍: 是一款休闲游戏,汤姆猫回来了,还带来了全新的冒险旅程!汤姆是您的宠物猫,他可以在您触摸时作出反应,并且用滑稽的声音完整地复述您说的话。…

Tomcat运行不出来汤姆猫404异常

一.发现问题 今天真的是傻缺,运行Tomcat,半天汤姆猫的页面出不来,但是自己写的页面却可以加载出来,给我气的。 30minutes passed,无意间打开了ROOT目录,看到下面这个场景: 这拿头加载啊&…

用Html5制作 汤姆猫 小游戏

以下汤姆猫是用html5制作的小游戏&#xff1b; 建议火狐测试&#xff0c;然后把火狐调成 响应式设计模式&#xff08;以便模拟手机屏幕&#xff09;&#xff0c;设置--->开发者--->响应式设计模式&#xff1b; 如下图 以下是html文件&#xff1a; <!DOCTYPE htm…

汤姆猫炫跑鸿蒙,汤姆猫炫跑最新版下载|汤姆猫炫跑新版本下载 安卓版 v1.4.0.470- 游娱下载站...

汤姆猫炫跑最新版是汤姆猫系列的跑酷休闲手游。汤姆猫经典元素&#xff0c;带给你更多快乐&#xff01;精致流畅的画面&#xff0c;让你在跑酷过程中感受丝滑般的流畅。丰富玩法等你来体验&#xff0c;还有更多活动持续更新哦&#xff01;大家快来游娱下载站下载吧&#xff01;…

汤姆猫java下载手机版_汤姆猫编程星球app下载-汤姆猫编程星球下载v1.0.8-西西软件下载...

汤姆猫编程星球是一款少儿编程教育软件&#xff0c;帮助想学习编程少年快速学习&#xff0c;多彩多样的玩法&#xff0c;锻炼孩子的思维性&#xff0c;逻辑性&#xff0c;从小时候就加强大脑的锻炼&#xff0c;喜欢的朋友可以在西西下载使用。 软件介绍 汤姆猫编程星球介绍和汤…

汤姆猫炫跑鸿蒙,汤姆猫炫跑游戏怎么操作-玩法规则一览

汤姆猫炫跑游戏怎么操作&#xff1f;相信很多玩家感兴趣&#xff0c;今天小编为大家带来汤姆猫炫跑玩法规则一览&#xff0c;感兴趣的玩家不要错过。 汤姆猫炫跑游戏基本操作 你以为在汤姆猫炫跑中&#xff0c;跑就完事了?NO&#xff0c;你还要尽量跑得更远!在保证游戏时间更长…

汤姆猫游戏

pgzero模块制作汤姆猫游戏 游戏运行示例 游戏初始界面 猫咪动画界面 游戏代码 import pgzrun import pygame def yinyue(n):pygame.mixer.init()pygame.mixer.music.load(music/ n .m4a)pygame.mixer.music.play(1, 0)WIDTH 384 HEIGHT 614cat Actor(eat/eat_0.jpg)chi…

idea连接汤姆猫

Tomcat是每个程序员电脑上都会存在的一个微型服务器&#xff0c;JSP需要Tomcat的连接&#xff0c;接下来就说说2021.3.3版本idea的连接。 第一步正常创建项目&#xff1a; 第二步 第三步 第四步 第五步 第六步 回到主页后点击右上角的add configuration: 点击加后在左侧找到Tom…

java网页制作会说话的汤姆猫_android 仿 会说话的汤姆猫 源码

【实例简介】实现了简单的动画效果&#xff0c;有详细的实例讲解文档 【实例截图】 【核心代码】 package com.example.android_tom; import android.app.Activity; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.view.Menu;…

Android实现汤姆猫小游戏

本文同步发表于我的微信公众号&#xff0c;扫一扫文章底部的二维码或在微信搜索 chaodev 即可关注。 相信好多人都玩过汤姆猫这个小游戏&#xff0c;要做这个小游戏其实也不难&#xff0c;这不&#xff0c;现写一个&#xff0c;先看效果演示。 目前实现的主要功能点包括以下两…

用freepy一键生成中美GDP季度对比柱状图

这是一个单独运行的程序。下载&#xff1a; gen_echarts_bar.zip-互联网文档类资源-CSDN下载 用非常少的代码生成酷炫的图表&#xff0c;可以说&#xff0c;python和echarts是珠联璧合、完美搭档&#xff01; 该程序已经内置了python、pyecharts等需要的后台。点击运行即可生成…

2018年中美自动驾驶进展分析报告

https://www.toutiao.com/a6687368786560942599/

中美青年创客大赛启动,50万奖金等你来挑战!

中美创客交流嘉年华--2018 中美青年创客大赛火爆启动&#xff0c;50 万奖金花落谁家&#xff1f; 由教育部主办、谷歌等承办的 2018 中美青年创客大赛已于本周启动。 中美青年创客大赛&#xff08;China-US Young Maker Competition&#xff0c;简称CUYMC&#xff09;&#x…

中美数据中心产业对比及思考

近年来&#xff0c;随着大数据、云计算、人工智能&#xff08;AI&#xff09;等前沿技术领域飞速发展&#xff0c;数据应用越来越受到人们重视&#xff0c;从数据背后解读人类社会活动规律和行为习惯&#xff0c;已经为新经济模式形成奠定基础。数据已从以往的计算、统计、测量…

中美自动驾驶最新融资情况:千万级与十亿级美元的距离

https://www.toutiao.com/a6679005032412611084/ 中美是目前自动驾驶最为火热的两个国家&#xff0c;恰好也是世界GDP排名前两位的国家&#xff0c;无论是中国还是美国&#xff0c;除了科技巨头和整车企业投身自动驾驶领域&#xff0c;还有大量的初创公司蜂拥而入。 自动驾驶技…

中美IPv6发展现状分析

本文作者 马军锋&#xff1a;中国信息通信研究院技术与标准研究所主任工程师。 侯乐青&#xff1a;武警青海总队网管中心高级工程师。 在2016年12月27日发布的《“十三五”国家信息化规划》中提及&#xff1a;到2020年&#xff0c;5G完成技术研发测试并商用部署&#xff0c;互联…

数字化时代-17:从中国历年五年规划后的GDP增长看中美大碰撞的必然

前言&#xff1a; 本文通过观察中国历年五年规划后的GDP增长与美国同期GDP的增长的关系&#xff0c;展示中美大碰撞的必然性。 这是中国崛起路上必然要经过的一道坎&#xff0c;无法回避&#xff0c;能做的就是降低它的负面影响。 我们先看一下日美大碰撞&#xff1a; 在上图…

中美日印程序员收入对比

点击上方 好好学java &#xff0c;选择 星标 公众号 重磅资讯、干货&#xff0c;第一时间送达今日推荐&#xff1a;硬刚一周&#xff0c;3W字总结&#xff0c;一年的经验告诉你如何准备校招&#xff01; 个人原创100W访问量博客&#xff1a;点击前往&#xff0c;查看更多一直都…

中美领军全球AI竞赛,人工智能被高估了么?

2020-02-18 13:02:00 全文共3902字&#xff0c;预计学习时长13分钟 图源&#xff1a;Unsplash 不久前&#xff0c;谷歌前CEO施密特在出席众议院科学、太空和技术委员会的听证会时表示&#xff0c;美国可能在五到十年后失去在AI方面的领先地位&#xff0c;中国正在努力超越美国。…