【JavaWeb】第七章 Tomcat

news2024/11/18 21:31:49

文章目录

  • 1、JavaWeb
  • 2、Web资源与Web服务器
  • 3、Tomcat的使用
  • 4、部署Web工程到Tomcat中
  • 5、工程和资源的访问
  • 6、IDEA集成Tomcat服务器
  • 7、创建动态web工程

1、JavaWeb

JavaWeb是指通过Java语言编写的可以通过浏览器访问的程序的总称。

  • 请求:
    客户端给服务器发送数据,即Request

  • 响应:
    服务器给客户端回传数据,即Response

请求和响应是成对出现的。
客户端与服务器

2、Web资源与Web服务器

Web资源

按实现的技术和呈现的效果的不同,分为静态资源和动态资源两种。

  • 静态资源如:html、css、js、txt、mp4、jpg
  • 动态资源如:jsp页面、Servlet程序

常见的Web服务器

  • Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持,是一种轻量级的JavaWeb容器(服务器)
  • Jboss
  • GlassFish
  • Resin
  • WebLogic

Tomcat服务器和Servlet版本对应的关系:

版本对应

3、Tomcat的使用

安装

下载地址:https://tomcat.apache.org/
下载

找到需要的Tomcat版本的zip压缩包,解压到需要安装的目录即可

目录介绍

  • bin:存放Tomcat服务器的可执行程序
  • conf:存放Tomcat服务器的配置文件
  • lib:存放Tomcat服务器的jar包
  • logs:存放Tomcat服务器运行时输出的日志信息
  • temp:存放Tomcat运行时产生的临时数据
  • Webapps:存放部署的Web工程
  • work:Tomcat工作时的目录,用来存放Tomcat运行时jsp翻译为Servlet的源码,和Session钝化(序列化)的目录

启动

❀方式一:双击bin目录下的startup.bat文件

❀方式二:打开DOS窗口,CD到Tomcat的bin目录,执行指令catalina run

catalina run

启动后,随便访问以下其中一个地址:

http://localhost:8080
http://127.0.0.1:8080
http://本地真实IP:8080

当跳转如下界面,即说明启动成功:
跳转

🍁常见的启动失败情况:

  • 双击startup.bat文件后,出现一个小黑窗口一闪而过。失败原因可能是没配置好JAVA_HOME环境变量
    环境变量

注意JAVA_HOME配置的路径只需要配置到jdk的安装目录即可,不需要带上bin目录!!

停止

  • 方式1:点击Tomcat服务器窗口的x关闭按钮
  • 方式2:把Tomcat服务器窗户置为当前窗口,然后Ctrl+C
  • 方式3:双击bin目录下的shutdown.bat

修改Tomcat的端口号

Mysql默认的端口号是3306,Tomcat默认的是8080。HTTP协议的默认端口号是80,访问时不用加,这也是只带域名(ip)www.baidu.com就能访问的原因。

Tomcat目录下的conf目录,找到server.xml配置文件,可修改默认端口:
port
修改完端口号一定要重启Tomcat才能生效。

4、部署Web工程到Tomcat中

方式1:

只需把web工程的目录拷贝到Tomcat的webapps目录即可
拷贝

localhost:8080实际到达的目录是tomcat/webapps,所以访问时,在浏览器输入:

http://ip:port/工程名/目录x/文件名

访问

方式2:

进入Tomcat的conf目录下的Catalina\localhost\,创建配置文件xx.xml:
9527.xml
文件内容:

<Context path="/9527" docBase="D:\html" />

其中:

  • Context表示一个工程的上下文
  • path表示工程的访问路径
  • docBase表示工程目录在哪里

重启Tomcat,此时,访问localhost:8080/9527就相当于访问D:\html:

http://localhost:8080/9527/jquery-10.html

第一种方式就像是方式二中把docBase配置成…tomcat/webapps,path就是/,当然方式一的底层实现原理可能不是这样。

访问效果:

访问

5、工程和资源的访问

🍁直接手拖文件进浏览器和在浏览器中输入localhost:8080/xx文件 访问有何不同?

手动拖html页面到浏览器,此时浏览器中的地址是:
手动拖

此时使用的是file://协议,表示file协议告诉浏览器直接读取file: 协议后面的路径,解析展示在浏览器上即可

如果是输入:http://ip:port/工程名/资源名

localhost
所使用的协议是http协议,背后的逻辑是:
localhost

访问默认工程和默认资源:

  • 当输入http://localhost:port/的时候,没有工程名,则默认访问的是webapps下的ROOT工程

  • 当输入http://localhost:port/工程名,没有资源名的时候,则默认访问的是该工程下的index.html页面

6、IDEA集成Tomcat服务器

run

tomcat

7、创建动态web工程

newMoudle
输入模块名:

moudle
创建成功:
目录
整个动态web工程目录介绍:
目录
run

一些Tomcat实例使用的注意点:

  • 修改模块工程路径
    修改路径
  • 修改运行的端口号
    修改端口号
  • 修改运行使用的浏览器
    修改浏览器
  • 选择部署是热部署
    热部署

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

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

相关文章

java基于SSM的婚纱影楼管理系统-计算机毕业设计

开发环境 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:SSM(springspringMVCmybatis)vue 项目介绍 婚姻是每个人人生中都非常重要的一个组成部分&#xff0c;它是一个新家庭的开始也是爱情的见证&#xff0c;所以很多人在结婚之前都会拍一套美…

数字先锋 | 农业农村部大数据公共平台基座上线,天翼云擎起乡村振兴新希望!

近日&#xff0c;由中国农业农村部大数据发展中心牵头&#xff0c;联合中国电信集团有限公司、人民数据管理&#xff08;北京&#xff09;有限公司、北京中农信达信息技术有限公司、北京农信通科技有限责任公司共同打造的“农业农村大数据公共平台基座”已正式上线&#xff0c;…

借助云的力量,重塑企业的现在和未来|re:Invent 2022 Adam Selipsky 主题演讲精华全收录

2022 亚马逊云科技re:Invent全球大会进入第二天&#xff0c;亚马逊云科技首席执行官 Adam Selipsky 发表了“如何借助云的力量&#xff0c;在未知领域抓住机遇并茁壮成长”的主题演讲。在两个小时的演讲中&#xff0c;Adam 重点围绕数据、安全、计算性能和行业应用等4个主题发布…

问题 A: 二叉排序树 - 文本输出

题目描述 给定一个序列&#xff0c;使用该序列生成二叉排序树&#xff08;也叫二叉搜索树&#xff0c;BST&#xff09;&#xff0c;然后以本题规定方法输出该二叉排序树。 例&#xff1a; 给定一个序列&#xff1a;43 25 29 67 17 88 54 47 35 62 以第一个数字&#xff08;43&…

RFID防盗安全门,自助借还书机,让图书馆发展进入新的里程碑

RFID无线射频识别是一种非接触的自动识别技术&#xff0c;它通过射频信号自动识别目标对象并获取相关数据&#xff0c;可快速进行物品追踪和数据交换&#xff0c;其识别无需人工干预。 RFID作为一种新的技术&#xff0c;它不只是简单的磁条码替代品&#xff0c;它的运作让图书馆…

为什么说新一代BI是“面向业务的可视化分析工具”?

BI工具一直被誉为数据应用的“最后一公里”&#xff0c;其原因在于BI工具可以通过简洁的方式完成数据分析&#xff0c;将数据结果直观的展现给使用者&#xff0c;达到释放数据价值的目的。 然而&#xff0c;传统BI的根本问题在于操作难度大&#xff0c;导致只能专业的IT人员进…

(02)Cartographer源码无死角解析-(33) LocalTrajectoryBuilder2D: 点云数据流向、处理、消息发布等→流程复盘

讲解关于slam一系列文章汇总链接:史上最全slam从零开始&#xff0c;针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解&#xff1a;https://blog.csdn.net/weixin_43013761/article/details/127350885 文末…

反复重购,资金严重浪费?企业资产需要这样管理

很多企事业资产具有数量大、种类多、价值高、使用周期长、使用地点分散&#xff0c;管理难度大。一些传统固定资产管理软件&#xff0c;痛点丛生&#xff0c;已难于满足企事业需求。 资产管理业务4大现状 01.手段滞后 资产实际的使用状态及状况无法得到及时、准确地反馈。 02.…

「Redis数据结构」RedisObject

「Redis数据结构」RedisObject 文章目录「Redis数据结构」RedisObject一、概述二、结构三、编码方式四、小结五、参考一、概述 redisObject对象非常重要&#xff0c;Redis对象的类型、内部编码、内存回收、共享对象等功能&#xff0c;都需要redisObject支持。 redis 不是一个…

DPDK EAL

DPDK全程是Intel Data Plane Development Kit&#xff0c;是一个数据平面开发集。 DPDK的主要思想 绕过内核&#xff0c;实现Zero Copy使用UIO驱动屏蔽硬中断&#xff0c;并采用PMD主动轮询&#xff0c;减少Cache Miss和切换上下文的开销使用大页内存&#xff0c;减少TLB Mis…

重磅:Docker Desktop正式集成WasmEdge。后者首登GitHubTrending

上周五&#xff0c;Docker Desktop 发布了 4.15 新版本。在这个版本中&#xff0c;Docker Desktop 正式集成了 WasmEdge 的 containerd shim&#xff0c; 并且 Docker Wasm 也从 tech preview 进入到了 beta 阶段。这意味着&#xff0c;1000 万 Docker Desktop 的用户都安装了…

代码安全与质量 | 在这个充满变数的时代,花小钱办大事

在这个充满变数的时代&#xff0c;许多企业都想要提升效率&#xff0c;但如何以同样的时间、人力成本创造出更大的价值&#xff1f;在研发领域&#xff0c;企业选择引入更好的工具来帮助交付高质量代码&#xff0c;比如Sonar&#xff0c;帮助团队充分利用时间&#xff0c;专注于…

Gradle 使用maven本地仓库 带来的思考

Gradle 使用maven本地仓库 带来的思考 本篇主要探究一下 在使用Gradle 的时候一般会配置 maven 的本地仓库的,那是不是Gradle 可以直接使用 maven本地仓库的jar呢 ? 下面来探究一下 思考 当我们在使用Gradle的时候 一配置一个 mavenLocal() 代表它会使用maven的本地仓库, 此时…

独立产品灵感周刊 DecoHack #040 - Google公布2022年度最佳应用榜单

本周刊记录有趣好玩的独立产品设计开发相关内容&#xff0c;每周发布&#xff0c;往期内容同样精彩&#xff0c;感兴趣的伙伴可以点击订阅我的周刊。为保证每期都能收到&#xff0c;建议邮件订阅。欢迎通过 Twitter 私信推荐或投稿。&#x1f4bb; 产品推荐 1. Sensei 这是一…

408真题-2021

死去的记忆正在攻击我&#xff1a; [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n7aXxWnx-1670222893563)(https://waite1-1307752947.cos.ap-nanjing.myqcloud.com/img/202212051447504.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保…

网络编程之NIO 基础

一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c;可以从 channel 将数据读入 buffer&#xff0c;也可以将 buffer 的数据写入 channel&#xff0c;而之前的 st…

数据结构与算法之Python实现——栈

在常用的数据结构中&#xff0c;有一批结构被称为容器——栈与队列。 本篇博客主要学习一下栈这种结构的特性&#xff0c;以及用python实现它的相关操作。 内容 顺序栈链栈栈的实际应用 在这之前&#xff0c;我们需要了解一下什么是栈&#xff0c;以及栈这种结构有什么用处&am…

HarmonyOS/OpenHarmony应用开发-DataAbility开发体验

场景介绍 基于Data模板的Ability&#xff08;以下简称“Data”&#xff09;&#xff0c;有助于应用管理其自身和其他应用存储数据的访问&#xff0c;并提供与其他应用共享数据的方法。Data既可用于同设备不同应用的数据共享&#xff0c;也支持跨设备不同应用的数据共享。 Dat…

使用vuedraggable实现拖拽式操作实战

背景 先说下需求&#xff0c;为了提升开发效率和降低开发成本和技术难度&#xff0c;采用低代码方式&#xff0c;通过配置来生成代码&#xff0c;算是代码生成器的升级版解决方案。 对于前端页面&#xff0c;某个业务实体&#xff0c;如系统参数&#xff0c;常见的菜单对应一…

Memcached 未授权访问漏洞验证

Memcached 是一个高性能的分布式内存对象缓存系统&#xff0c;用于动态Web应用以减轻数据库负载。 该服务的端号为&#xff1a;11211 使用绿盟漏洞扫描系统发现某服务器存在Memcached 未授权访问漏洞&#xff0c;如下图所示。 验证方法一&#xff1a; 使用nmap 脚本script-…