web - Tomcat服务器

文章目录

目录

文章目录

前言

一 . CS和BS的异同

二 . 什么是Tomcat

二 . Tomcat安装

四 . Tomcat目录结构

bin目录: 用于存放二进制的可执行文件

 config目录

 server.xml:配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是:8080

lib目录 

logs目录

webApps目录

五 . web项目的标准结构

总结


前言

大家好,今天给大家带来的是现如今Java中应用最为广泛的服务器tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。


一 . CS和BS的异同

CS: 客户端服务器架构模式

  • 优点: 充分利用客户端机器的资源,减轻服务器的负荷(将安全性不高的计算机任务存储在客户端执行,减轻服务器的压力,同时也能减轻网络负荷)
  • 缺点: 需要安装,升级维护成本高

BS: 浏览器服务器架构模式

  • 优点: 客户端不需要进行安装,维护成本低
  • 缺点: 所有的计算和存储任务都是放在服务器端的,服务器的负荷较重,在服务器计算完成之后再把结果传输给客户端,因此客户端和服务器需要频繁地进行交互,因此网络负荷会比较重

二 . 什么是Tomcat

再说Tomcat服务器之前,我们先来谈谈web服务器

web服务器是一个软件程序,对Http协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷,主要功能是提供网上信息浏览服务。

tomcat是一款轻量级的web服务器支持servlet,jsp等少量javaEE规范

二 . Tomcat安装

版本:企业用的比较广泛的是8.0和9.0,目前比较新正式发布版本是Tomcat10.0, Tomcat11仍然处于测试阶段。

  • JAVAEE 版本和Servlet版本号对应关系 Jakarta EE Releases

  • Tomcat 版本和Servlet版本之间的对应关系

下载 

  • Tomcat官方网站:Apache Tomcat® - Welcome!

  • 安装版:需要安装,一般不考虑使用。

  • 解压版: 直接解压缩使用,我们使用的版本。

安装

1.正确安装JDK并配置JAVA_HOME(以JDK17为例 https://injdk.cn中可以下载各种版本的JDK)

 2.解压tomcat到非中文无空格目录

3.点击bin/startup.bat启动

 

 4.打开浏览器输入 http://localhost:8080访问测试

5.直接关闭窗口或者运行 bin/shutdown.bat关闭tomcat

6.处理dos窗口日志中文乱码问题: 修改conf/logging.properties,将所有的UTF-8修改为GBK

 

四 . Tomcat目录结构

bin目录: 用于存放二进制的可执行文件

 config目录

 server.xml:配置整个服务器信息。例如修改端口号。默认HTTP请求的端口号是:8080

lib目录 

Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的jar包了,所以建议只把Tomcat需要的jar包放到这个目录

logs目录

这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。

webApps目录

存放web项目的目录,其中每个文件夹都是一个项目


五 . web项目的标准结构

  • app 本应用根目录

    • static 非必要目录,约定俗成的名字,一般在此处放静态资源 ( css js img)

    • WEB-INF 必要目录,必须叫WEB-INF,受保护的资源目录,浏览器通过url不可以直接访问的目录

      • classes 必要目录,src下源代码,配置文件,编译后会在该目录下,web项目中如果没有源码,则该目录不会出现

      • lib 必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是没有依赖任何jar,则该目录不会出现

      • web.xml 必要文件,web项目的基本配置文件. 较新的版本中可以没有该文件,但是学习过程中还是需要该文件

    • index.html 非必要文件,index.html/index.htm/index.jsp为默认的欢迎页

 


总结

上面就是tomcat服务器的大致内容了,我们下一篇博客见。

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

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

相关文章

VSCode 开发 Vue 语法提示

一. 打开应用商店,搜索 vetur ,选择第一个,点击安装。 二. 安装完成后,还可以下载 Vue Language Features 解决代码警告的问题。 最后重启 VSCode 就可以使用啦。另外输入 按回车键还可以自动生成 vue 代码格式哦。 原创作者&…

【机器学习】KNN算法-鸢尾花种类预测

KNN算法-鸢尾花种类预测 文章目录 KNN算法-鸢尾花种类预测1. 数据集介绍2. KNN优缺点: K最近邻(K-Nearest Neighbors,KNN)算法是一种用于模式识别和分类的简单但强大的机器学习算法。它的工作原理非常直观:给定一个新数…

HTTP请求参数的区别-- Body、Query、Params的区别

在路由中,参数可以通过不同的方式传递,包括body、query和params。这些参数在使用时有一些区别: Body参数:Body参数是通过请求的主体部分传递的数据。通常用于传递较大的数据,例如JSON或XML格式的数据。在HTTP请求中&am…

【20年VIO梳理】

19-20年VIO 梳理 1. 开源代码介绍: DSM2. FMD Stereo SLAM:融合MVG和直接方法,实现准确,快速的双目SLAM3. 基于VINS-Mono开发的SPVIS4. 改进:一种基于光流的动态环境移动机器人定位方案5. PVIO:基于先验平面约束的高效…

网络流探索:解决网络最大流问题的算法集锦

1.初识网络流 网络流一直是初学者心中很难过去的一道坎,很多人说它是一个不像DFS/BFS那么直观的算法,同时网上也有各种参差不齐的材料,让人感到一知半解。 如果你也有这样的感觉,那么不要灰心,坚持住,因为…

flutter doctor检测过程中出现网络超时的问题

flutter安装过程中遇到的问题时: Network resources X A network error occurred while checking "https://maven.google.com/": An HTTP error occurred while checking "https://github.com/": 网络超时 打开flutter根目录 1. 找到配置…

linux音频-IIS音频接口

IIS 总线 IIS(Integrate Interface of Sound)即集成音频接口,在上个世纪 80 年代首先被 Philips 公司用于消费产品的音频设备, I2S规范 I2S总线只能用来处理audio data,而别的信号比如控制信号,编码信号则交给别的模块处理。为了…

【攻克】抓包工具:中文版Fiddler使用 教程-攻克获取微信账单

Fiddler是一款免费网络代理调试工具。 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获、重发、编辑、转存等操作。也可以用来检测网络安全。反正好处多多,举之不尽呀! 当年学习的时候也蛮费劲,一些蛮…

数据清洗与规范化详解

数据处理流程,也称数据处理管道,是将原始数据转化为有意义的信息和知识的一系列操作步骤。它包括数据采集、清洗、转换、分析和可视化等环节,旨在提供有用的见解和决策支持。在数据可视化中数据处理是可视化展示前非常重要的一步,…

对电磁兼容(EMC)的故障分析和判断方法简述

1. RE:辐射发射(RE)(100k~2.7G):电磁兼容(EMC)测试辐射杂散发射 :从骚扰发生源或者接口设备产生电磁发射波、随机的宽带的、由空间传播、测量的工作频率外的辐射干扰 2 …

【学习笔记】[ARC156E] Non-Adjacent Matching

首先,记 S ∑ X i S\sum X_i S∑Xi​,那么恰好有 S 2 \frac{S}{2} 2S​条边( S S S为偶数);序列 { X i } \{X_i\} {Xi​}合法的充要条件是: 对于任意 i i i,满足 X i X i 1 ≤ S 2 X_iX_{i1…

上市公司-托宾Q值数据集(2000-2022年)

本文数据为上市公司-托宾Q值数据。托宾Q值是由托宾(James Tobin)提出的一个指标,用以测量公司的投资机会与市场对其估值的比较。理论上,如果托宾Q值大于1,那么公司的市场价值超过了它的资产价值,这意味着公…

信息科技如何做好风险管理

文章目录 前言介绍亮点结构读者对象 前言 信息科技对金融业务发展所起的作用是举足轻重的。 近年来,金融机构在战略规划中相继引入科技引领的概念。作为金融机构信息科技从业人员,我们笃信信息科技是一个非常有用的工具,一个兼具产品思维和管…

Linux 内核打印(高级字符设备六)

一、dmseg 命令 在终端使用 dmseg 命令可以获取内核打印信息,该命令的具体使用方法如下所示:dmesg 命令   英文全称:display message(显示信息)   作用:kernel 会将打印信息存储在 ring buffer 中。可以…

Mysql在ubuntu22.04上安装配置

更新并下载Mysql sudo apt update sudo apt install mysql-server启动Mysql服务 sudo systemctl start mysql安全配置 包括设置密码、删除匿名用户、禁止远程root登录等,按提示进行即可。 sudo mysql_secure_installation是否设置密码:是 三种强度密…

DBeaver连接数据库报错:Public Key Retrieval is not allowed 的解决方案

写在前面: DBeaver是一款免费的数据库管理工具,安装也是傻瓜式一键安装,比较推荐。 DBeaver官网(加载有点慢,耐心等待):DBeaver Community | Free Universal Database Tool 报错详情&#xff…

Golang链路追踪:实现高效可靠的分布式系统监控

引言 在当今互联网应用的架构中,分布式系统已经成为主流。分布式系统的优势在于能够提供高可用性、高并发性和可扩展性。然而,随着系统规模和复杂性的增加,系统的监控和调试变得越来越困难。为了解决这个问题,链路追踪技术应运而…

ARM,汇编指令

一、汇编指令 1、搬移指令 mov r0 ,#3 mov r1,r0 msr cpsr,r0 mrs r0,cpsr 2、条件执行及标志位 cmp moveq movgt 3、机器码 1)、立即数合法性 2)、立即数不合法 ldr r0,0x12345678 伪指令解决不合法的问题 前4位表示16个数,一个数移动2次。 …

前端第一阶段测试

前端第一阶段测试 选择问答 如果觉得有用请给我点个赞⑧~ 选择 1、【单选】下列哪个是子代选择器 A A、p>b B、p b C、pb D、p.b 2、【单选】下述有关css属性position的属性值的描述,说法错误的是?B A、static:没有定位,元素出…

Python基础学习004——for循环与字符串

""" 1.for循环基本语法 2.做指定次数的循环,range()函数 3.continue的使用 4.字符串的定义与使用:转义符,原生字符 5.获取字符串长度,字符串索引的使用 6.切片,翻转字符串 7.字符串的查找find 8.字符串的替换replace 9.字符串的拆分split 10.字符串的链接join &…