当前位置: 首页 > news >正文

后端(一):Tomcat

我们之前的前端是被我们一笔带过的,那不是我们要讲的重点,而这里的后端则是重点。本章先来认识认识后端的基础。

Tomcat 是什么

我们先来聊聊什么叫做tomcat,我们熟悉的那个是汤姆猫:

 这和我们Java世界中的Tomcat 不是同一只猫,来看看Java中的汤姆:

 Tomcat 是一个 HTTP 服务器.
前面我们已经学习了 HTTP 协议, 知道了 HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式.
同时也通过 ajax 和 Java Socket 分别构造了 HTTP 客户端.
HTTP 服务器我们也同样可以通过 Java Socket 来实现. 而 Tomcat 就是基于 Java 实现的一个开源免费,也是被广泛使用的 HTTP 服务。

Tomcat 的下载

在 Tomcat 官网下载即可,目前比较主流的是tomcat 8 ,所以这里讲的也是tomcat 8 。

我把官网链接放在下面:

Apache Tomcat® - Apache Tomcat 8 Software Downloads

可以搜索,也可以直接点击download 下的Tomcat8.

 选择其中的 zip 压缩包, 下载后解压缩即可。。

另外,解压缩的目录最好不要带 "中文" 或者 特殊符号

 下载完就完了,Tomcat 属于是那种绿色无污染的软件,下载的路径,最好下次能找到。

我上一次就是,出了个问题,然后没有找到Tomcat 的安装路径,搞得自己又去重新下载。

安装完之后的可以看到如下目录结构:

bin 目录,是binary,二进制目录, 里面存放的是可执行文件。

双击后出现如下信息就说明启动成功了:

 如果出现闪退或者其他启动不成功的情况,我们可以将这个文件托入cmd 窗口下看看除了什么问题,例如:

 那就配置一下 Catalina home 的环境变量即可。

我这里就借用别人的文章,链接如下:

(216条消息) Tomcat环境变量Catalina_Home配置_path只有%catalina_home%\bin_米刀文的博客-CSDN博客

 实在不行也可以去B站查一查Tomcat 的下载。

当我们配置完毕之后,再次将startup.bat 目录托近cmd 窗口出现:

那就说明,咱这个tomcat 的配置以及没问题了。

也可以:

 

既然tomcat 是个服务器,那么它一定是需要绑定端口号的。

我们来查看一下,tomcat 绑定的端口号:

如果说输入了指令,啥都没有 出现,那就说明你的服务器没有启动,所以8080 这个端口没有被占用。

后面的数字,代表着tomcat 的进程 id ,这个可能都不一样。

部署自己的网站

这里先提前感受一下部署网站,后面会细说的。

我们这里有个还在做的项目(未完成),我们就可以把它部署到网站上去。

这个webapps 就是用来存放我们将要部署的网站,后面还会再提到。

这是第一步,然后再去重新打开tomcat 。

打开之后,再再浏览器中输入:http://localhost:8080/blog_system/blog_list.html博客列表页icon-default.png?t=N4P3http://localhost:8080/blog_system/blog_list.html

 

当然了,我们html 网页,双击也可以打开,但是这二者是有区别的,我们双击打开只能是由我们自己主机访问,而用tomcat 部署,是给客户去访问的。

但是,现在不代表你能用你的电脑来访问我的这个网站。

这里就复习一下前面网络原理的知识:

原因在于,目前你没有拿到我的外网ip ,我们之前在网络原理中提到的 NAT 机制。现在有两个办法能给够访问到,要么获取到我的外网ip ,要么我们同处于一个局域网下。

并且,我们目前的网站是 http 协议的,并不是https 协议,所以会提示网站不安全啥的。原因在于我们没有引入第三方机构,这个得花钱,就不过多介绍了。

我们要学习的重点是基于 tomcat 的编程!

假设我们现在需要写一个网站后端(http服务器),我们可以从头开始写,但是比较麻烦,本章讲到的tomcat 以及帮我们完成了这部分的工作,并且提供了一系列的API ,可以让程序员在程序中直接调用。

此时就省去了一部分工作,更加注重业务逻辑。Java 的初衷就是为了让程序员更加注重业务逻辑。

ok,本章初始后端的tomcat 也就写到这里,我们后面会聊到后端的很多 API。

http://www.lryc.cn/news/90908.html

相关文章:

  • 华为OD机试之最小调整顺序次数、特异性双端队列(Java源码)
  • 2023年武汉住建厅七大员怎么报名?报名流程?精准题库一次过??
  • Rust每日一练(Leetday0014) 组合总和II、缺失正数、接雨水
  • EnjoyVIID部署
  • 用Python解决爱因斯坦的数学问题
  • ChatGPT提示词攻略之基本原则
  • 抖音seo源码如何开发部署?
  • Java中常见锁的分类及概念分析
  • ConcurrentLinkedQueue的源码解析(基于JDK1.8)
  • 低资源方面级情感分析研究综述
  • 将 PDF 压缩到 1 MB 或更小的 5 个工具
  • CSMA/CD协议之计算最短帧长问题
  • 第三章:什么是分库分表
  • SpringMVC第六阶段:数据在域中的保存(02)
  • Springboot +spring security,认证方式---HTTP基本认证的实现
  • 2023年系统分析师案例及论文(回忆版)
  • 数据结构与算法面试题
  • C Primer Plus第十章编程练习答案
  • 奇舞周刊第493期:Hook 革命!浅谈 React 新 Hook 的未来与思想
  • 文件包含的本质、预处理符号、# vs ##
  • 【JavaSE】Java基础语法(三十九):网络编程入门
  • 中间件SOME/IP简述
  • [自学记录03|百人计划]移动端GPU的TB(D)R架构基础
  • 详解Java枚举
  • ES6-ES13学习笔记(4.0)
  • 线段树C++详细讲解和个人见解
  • 构建sysbench的镜像
  • leetcode解题思路分析(一百四十)1201 - 1208 题
  • FPGA设计的指导性原则 (一)
  • 【架构】常见技术点--服务治理