Web之tomcat

news2024/11/29 22:50:19

@[TOC](文章目录)


1.程序架构

1.C/S(client/server)
比如:QQ、 微信、 LOL
优点:有一部分代码写在客户端, 用户体验比较好。
缺点: 服务器更新,客户端也要随着更新。 占用资源大。
2. B/S(browser/server)
比如:网页游戏 、 WebQQ、天猫、京东等
优点: 客户端只要有浏览器就可以了。占用资源小,不用更新。
缺点:用户体验不佳

2.Web服务器

1.web服务器
客户端在浏览器的地址栏上输入地址 ,然后web服务器软件,接收请求,然后响应消息。 处理客户端的
请求, 返回资源 | 信息

Web应用 需要服务器支撑。 index.html

  • Tomcat apache
  • WebLogic BEA
  • Websphere IBM
  • IIS 微软

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

  • 静态资源: html、 css、 js、 txt、 mp4 视频 , jpg 图片
  • 动态资源: jsp 页面、 Servlet 程序

3.Tomcat的安装

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

  • 安装, 直接解压 ,然后找到bin/startup.bat, 前提必须配置JAVA_HOME
  • 启动startup.bat,如果能够正常看到黑窗口,表明已经成功安装。 为了确保万无一失, 最好在浏览器的地址栏上输入 : http://localhost:8080 , 如果有看到内容 就表明成功了。
  • 注意问题, 如果双击了startup.bat, 看到一闪而过的情形,一般都是 JDK的环境变量没有配置。

1.Tomcat目录介绍

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

2. 修改tomcat端口号

server.xml文件中修改8080端口为80端口


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

4.发布项目到tomcat中

需求: 如何能让其他的电脑访问我这台电脑上的资源, 如 shuiguo目录

1.直接拷贝

1.拷贝这个文件到webapps底下, 在浏览器里面访问:

使用IP地址访问:
http://192.168.37.48:8080/shuiguo/index.html

2.拷贝这个文件到webapps/ROOT底下, 在浏览器里面访问:

删除root下的原有内容

http://localhost:8080/

2.配置虚拟路径

在 Tomcat 中,虚拟路径(也称为上下文路径)用于指定 Web 应用程序的访问路径。默认情况下,每个 Web 应用程序都有一个上下文路径,该路径是 Web 应用程序的根路径。例如,如果你的 Web 应用程序名称是 shuiguo,则默认的上下文路径为 /shuiguo。

配置虚拟路径的主要目的是为了提供更友好的 URL,并允许多个 Web 应用程序共享同一端口。以下是配置虚拟路径的一些用途:

  • URL 美化:使用虚拟路径可以将 Web 应用程序的访问路径与实际的文件系统路径解耦。你可以通过设置自定义的虚拟路径,使 URL 更短、更易读,并且符合你的网站设计和需求。

  • 多个应用程序共享同一端口:当你需要在同一台服务器上运行多个 Web 应用程序时,可以通过配置不同的虚拟路径来实现。这样,每个应用程序可以共享相同的 IP 地址和端口,但具有不同的上下文路径。例如,http://10.11.5.11:8080/app1 和 http://10.11.5.11:8080/app2 可以分别访问两个不同的应用程序。

  • 隐藏实际部署位置:通过使用虚拟路径,你可以将实际的文件系统路径隐藏起来,提高安全性。访问者只能看到虚拟路径,无法直接了解应用程序的部署细节或目录结构

第一种虚拟路径

在conf/server.xml 找到host元素节点。
加入以下内容。
在这里插入图片描述

<!-- docBase : 项目的路径地址 如: e:\temp\shuiguo\ path : 对应的虚拟路径 一定要
以"/"打头。
对应的访问方式为: http://localhost:8080/shuiguo2/index.html -->
<Context docBase="e:\temp\shuiguo\" path="/shuiguo2"></Context>

在浏览器地址栏上输入:

http://localhost:8080/shuiguo2/index.html

第二种配置虚拟路径

在tomcat/conf/catalina/localhost/ 文件夹下新建一个xml文件,名字可以自己定义
shuiguo3.xml
在这个文件里面写入以下内容

<?xml version='1.0' encoding='utf-8'?>
<Context docBase="e:\temp\shuiguo3"></Context>

在浏览器上面访问

http://localhost:8080/shuiguo3/index.html

5.ideal整合tomcat

1.创建web项目
在这里插入图片描述
2.增加web framework支持
在这里插入图片描述
3.发布项目到tomcat
在这里插入图片描述
在这里插入图片描述
这里这个shuiguo4就是虚拟路径

4.以war文件方式发布项目
打包war文件
在这里插入图片描述
把war文件拷贝到tomcat,tomcat启动会自动解压这个war文件,部署运行,context_path是文件名

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

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

相关文章

【盘点】设计师更偏爱Telerik Kendo UI界面库的4个理由!

就像许多开发人员(错误地)认为设计软件和工具对他们没有任何用处一样&#xff0c;许多设计人员也错误地认为&#xff0c;当涉及到以开发人员为中心的软件和工具时&#xff0c;对他们没有任何价值。事实上&#xff0c;如果双方都愿意走出自己的舒适区去探索&#xff0c;他们都会…

在微信小程序上怎么实现多门店管理功能

微信小程序已经成为连接线上与线下的重要工具&#xff0c;尤其对于拥有多家门店的企业来说&#xff0c;通过微信小程序可以实现多门店管理&#xff0c;提高管理效率和用户体验。下面&#xff0c;我将为大家详细介绍如何在微信小程序上实现多门店管理功能。 一、确定多门店管理功…

打印日志遇到的问题,logback与zookeeper冲突

在做项目时需要打印日志引入了logback打印日志&#xff0c;但是一直无法打印&#xff0c;于是一路查找原因。发现zookeeper中默认带的有个logback和我自己引入的logback版本冲突了&#xff0c;这样直接使用exclusions标签将zookeeper中自带的日志框架全部排除即可 按理说到这一…

【leetcode 力扣刷题】栈—波兰式///逆波兰式相关知识和题目

波兰式、逆波兰式相关知识和题目 波兰式、逆波兰式介绍常规表达式转换成逆波兰式编程让常规表达式转换成逆波兰式逆波兰式运算过程常规表达式转换成波兰式编程让常规表达式转换成波兰式波兰式运算过程 150. 逆波兰式表达式求值224. 基本计算器227. 基本计算器Ⅱ282. 给表达式添…

【每日一题】852. 山脉数组的峰顶索引

852. 山脉数组的峰顶索引 - 力扣&#xff08;LeetCode&#xff09; 符合下列属性的数组 arr 称为 山脉数组 &#xff1a; arr.length > 3存在 i&#xff08;0 < i < arr.length - 1&#xff09;使得&#xff1a; arr[0] < arr[1] < ... arr[i-1] < arr[i] ar…

Linux重装qemu和libvirt

要重装qemu和libvirtd在CentOS上&#xff0c;请按照以下步骤操作&#xff1a; 首先&#xff0c;请确保您具有root权限或sudo访问权限。 首先&#xff0c;您需要卸载现有的qemu和libvirt软件包。使用以下命令&#xff1a; sudo yum remove qemu-kvm qemu-img libvirt在卸载完成…

MySQL基础终端命令与Python简单操作MySQL

文章目录 MySQL终端命令1. 进入mysql2. 创建数据库3. 选择数据库4. 创建数据表1. 主键约束2. 外键约束3. 非空约束4. 唯一约束5. 使用默认约束6. 设置id为自增列 5. 查看数据表6. 修改数据表1. 修改表名2. 修改表的字段类型3. 修改表的字段名4. 为表添加字段5. 删除字段6. 调整…

HTML的学习 Day01

《网页设计与制作》是web前端开发技术中静态网页中的内容&#xff0c;主要包括html、css、js中的静态内容部分&#xff0c;是专业基础课程。 随着5G时代的到来&#xff0c;人工智能与物联网结合行业的飞速发展&#xff0c;更多的互联网的崛起。这肯定就比如伴随着对移动互联网…

05-Redis高可用集群之水平扩展

上一篇&#xff1a;04-Redis哨兵高可用架构 1.概要说明 Redis3.0以后的版本虽然有了集群功能&#xff0c;提供了比之前版本的哨兵模式更高的性能与可用性&#xff0c;但是集群的水平扩展却比较麻烦&#xff0c;今天就来带大家看看redis高可用集群如何做水平扩展&#xff0c;…

Houdini 灯光插件工作流程,如何将 HDR Light Studio 与 Houdini 结合使用?

如何不额外购买硬件&#xff0c;流畅的运行Houdini&#xff1a; Houdini项目渲染慢&#xff0c;本地硬件配置不够&#xff0c;想要加速渲染&#xff0c;在不增加额外的硬件成本投入的情况下&#xff0c;最好的解决方式是使用渲云云渲染&#xff0c;在云端批量渲染&#xff0c;…

高效通过指定秒数分割视频,定制你的片段!

大家好&#xff01;在处理电脑上的视频文件时&#xff0c;如果需要从指定秒数处进行分割视频&#xff0c;传统的方法可能会显得非常繁琐和费时。为了让您能够轻松实现这一需求&#xff0c;我们为您提供了一种高效的方法&#xff0c;让您能够精准地从指定秒数处分割视频&#xf…

出现线程安全问题的原因和解决方案

文章目录 一、什么是线程安全问题二、出现线程安全问题的原因三、解决方案3.1加锁 一、什么是线程安全问题 某些代码在单线程环境下执行结果完全正确&#xff0c;但在多线程环境下执行就会出现Bug&#xff0c;这就是“线程安全问题”。 下面以一个变量n自增两次&#xff0c;每…

Linux【一】

目录 一、Linux操作系统发展历史 Unix Minix Linux 二、Linux简介 Linux是什么 Linux的版本 Linux内核版本 Linux发行版本 Linux应用领域&#xff1f; Linux注意事项 三、Linux目录 系统目录 用户目录 文件颜色 四、Linux命令行基本操作 Linux命令格式&#x…

小程序中会员如何绑定身份证信息

在小程序中&#xff0c;会员绑定身份证信息是一项重要且常见的功能&#xff0c;可以帮助商家更好地了解用户的身份信息&#xff0c;提供个性化的服务和保障用户的权益。例如生日礼物&#xff0c;还有以及医保支付等需要实名认证的场景等。下面将介绍一些小程序中会员如何绑定身…

Open Feign

Open Feign 在前面的学习中&#xff0c;我们使用了Ribbon的负载均衡功能&#xff0c;简化了远程调用时的代码&#xff1a; String user this.restTemplate.getForObject("http://spring-provider/provider/" id, String.class);如果就学到这里&#xff0c;可能以…

Zebec 生态 AMA 回顾:Nautilus 以及 $ZBC 的未来

在 9 月 7 日&#xff0c;Zebec 创始人 Sam 做客社区&#xff0c;并进行了“Nautilus Chain 以及 $ZBC 的未来”主题的 AMA 访谈。Sam 在本次访谈中对 Nautilus Chain 生态的价值捕获、Zebec 生态布局规划、可能会推出的 Nautilus Chain 治理通证 NAUT 进行了解读。本文将对本次…

基于SSM的医院在线挂号预约系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

人大女王金融硕士项目——应以长远的眼光去规划自己的人生蓝图

我们的现在的生活都是过去努力的结果&#xff0c;你的未来如何是由今后的努力决定。我们不要停滞不前&#xff0c;应从长远的眼光去规划自己的人生蓝图。你有想过在职攻读人民大学与加拿大女王大学金融硕士项目来提升自己吗&#xff1f; 着我国经济迅猛的发展&#xff0c;金融…

鸿蒙HarmonyOS应用开发初体验

最近华为发布mt60新机火了&#xff0c;作为一名移动开发程序员&#xff0c;对鸿蒙系统开发移动端就很感兴趣了。 开发工具&#xff1a;HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 下载完后按默认安装就可以了&#xff0c;界面跟AS很类似&#xff0c;之前我jdk环…

前端面试合集(二)

前端面试题合集 1.懒加载的原理及实现了解吗2.如何理解JS异步3.阐述一下 JS 的事件循环4.JS 中的计时器能做到精确计时吗&#xff1f;为什么&#xff1f; 1.懒加载的原理及实现了解吗 原理&#xff1a;当图片没有到达可视范围内时&#xff0c;图片不加载&#xff0c;当图片一旦…