JavaWeb纯小白笔记02:Tomcat的使用:发布项目的三种方式、配置虚拟主机、配置用户名和密码
通过Tomcat进行发布项目的目的是为了提供项目的访问能力:Tomcat作为Web服务器,能够处理HTTP请求和响应,将项目的内容提供给用户进行访问和使用。
一.Tomcat发布项目的三种方式:
第一种:直接在Tomcat文件夹里的webapps目录创建一个文件夹new放进html文件。
f
在文件里可以写简单的网页代码:
▲注意:打开Tomcat文件里bin目录下的startup.bat,必须启动服务器
然后就可以通过浏览器,在地址栏搜索http://localhost:8080/new/index.html ,(这里的new是文件夹名可以改) 以下是我的搜索结果:
第二种:将webapps的nwe文件拿出来建议放到Tomcat文件夹里面就是和lim,webapps文件夹同级别------因为webapps是应用程序的文件夹第二种方法不是直接放在应用程序的文件夹方法
我的就是这样:
接下来就是在conf文件中打开server.xml文件---推荐使用EditPlus3进行查看代码方便一点,没有的话直接使用记事本也可以:
在打开的记事本最下面的红线后这里添加<Context path="/h" docBase="D:\hello" reloadable="true"/>
解读:Context path 环境路径 "/h"就是一会搜索的设置路径,"D:\hello"---这个就是刚刚new文件里html文件的地址---填写上去就是:
最后启动服务器就是点击lib目录下的startup.bat文件,如果启动闪了就结束说明代码有问题,启动不了,启动成功后在浏览器地址栏输入:http://localhost:8080/h/index.html
结果就是这样:
第三种(了解):
也可以在Catalina(服务器引擎,注意是conf\Catalina\localhost中创建)中新建一个任意的xml文件并在里边写入<Context docBase="D:\hello"/>,那么这个xml文件的名字就是我们的虚拟目录,如果文件为 aaa#bbb就是两级虚拟目录。
访问路径:http://localhost:80ser80/aa/bb/index.html
总结:第一、第二种最常用,第三种不常用且不一定成功
二.配置虚拟主机
想要实现输入www.XXX.com就进入自己的网站需要做以下配置:
1.配置虚拟主机
在Tomcat文件夹的conf文件夹中打开server.xml文件:在如下圆圈位置添加以下代码
Host name是设置www.XXX.com域名 appBase=后面的地址是装html文件的文件夹的根目录
Context path=这里默认不写, docBase后面是装html文件的地址
我下面域名是 www.thdll.com ,所有以下是我的配置:
2.将这个server.xml文件中的8080端口改成80,即如下代码的圆圈处:
注意:以上代码修改后记得ctrl+s保存!!!
3.向hosts中添加域名解析:hosts文件位置在:C:\Windows\System32\drivers\etc\hosts
打开如下:
获取域名:win键+R键-->cmd-->ipconfig:自己的ip地址是IPV4的:
打开hosts文件输入自己的ip和自己在server.xml文件中最下面写的域名
带"#"都是注释没有的,如果hosts文件不能修改,把他复制出去进行修改,把原来的删除,把修改好的文件再放进去也可以
4.老样子启动服务器就是点击lib目录下的startup.bat文件,如果启动闪了就结束说明代码有问题,启动不了,启动成功后在浏览器地址栏输入:www.thdll.com
结果:
三.配置Tomcat的用户名和密码
启动服务器就是点击lib目录下的startup.bat文件打开网址输入localhost:80就可以了,上面之前改掉了端口号,然后点击,Server Status进行登录,一开始需要用户名和密码,点击
取消
会有这样的一段代码:
将圆圈里的代码放进Tomcat的文件夹里的conf文件夹下的server.xml,在最下面
然后重新启动服务器就是点击lib目录下的startup.bat文件打开网址输入localhost:80就可以了,上面之前改掉了端口号,然后点击,Server Status进行登录。
我这里设置的用户名 user username="thdll" ,密码 password="030429”,其他不变。
最后登录进去就是这个页面,用于管理我们发布的项目:
至此就介绍完毕了,感谢大佬观看,求免费的赞和关注收藏!!
相关文章:

JavaWeb纯小白笔记02:Tomcat的使用:发布项目的三种方式、配置虚拟主机、配置用户名和密码
通过Tomcat进行发布项目的目的是为了提供项目的访问能力:Tomcat作为Web服务器,能够处理HTTP请求和响应,将项目的内容提供给用户进行访问和使用。 一.Tomcat发布项目的三种方式: 第一种:直接在Tomcat文件夹里的webapp…...

为什么数据需要 QA 流程
当有人问我做什么工作时,我会说我是一名数据质量保证 (QA) 工程师。他们并不真正理解我的意思。“嗯,我做数据测试,”我试图解释,但常常无济于事。我有一些从事技术和软件开发的朋友,他们不太了解数据测试是什么&#…...

Spring Boot 学习之路 -- 基础认知
前言 最近因为业务需要,被拉去研究后端的项目,代码框架基于 Spring Boot,对我来说完全小白,需要重新学习研究…出于个人习惯,会以 Blog 文章的方式做一些记录,文章内容基本来源于「 Spring Boot 从入门到精…...

JavaScript --json格式字符串和对象的转化
json字符串解析成对象 : var obj JSON.parse(str) 对象转化成字符串:var str1 JSON.stringify(obj1) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Com…...

LabVIEW提高开发效率技巧----采用并行任务提高性能
在复杂的LabVIEW开发项目中,合理利用并行任务可以显著提高系统的整体性能和响应速度。并行编程是一种强大的技术手段,尤其适用于实时控制、数据采集以及多任务处理等场景。LabVIEW的数据流编程模型天然支持并行任务的执行,结合多核处理器的硬…...

裸土检测算法实际应用、裸土覆盖检测算法、裸土检测算法
裸土检测算法主要用于环境保护、农业管理、城市规划和土地管理等领域,通过图像识别技术来检测和识别地表上的裸露土壤。这种技术可以帮助管理者实时监控裸土面积,及时采取措施,防止水土流失、环境污染和生态退化。 一、技术实现 裸土检测算…...

深入剖析链表反转:多语言实现与高级语法特性20240924
深入剖析链表反转:多语言实现与高级语法特性 引言 在数据结构与算法的学习中,链表是基础结构之一,尤其在动态内存分配和操作中体现了它的重要性。今天,我们将通过反转单链表这一经典算法题,从不同编程语言的角度进行…...

【数据结构初阶】链式二叉树接口实现超详解
文章目录 1. 节点定义2. 前中后序遍历2. 1 遍历规则2. 2 遍历实现2. 3 结点个数2. 3. 1 二叉树节点个数2. 3. 2 二叉树叶子节点个数2. 3. 3 二叉树第k层节点个数 2. 4 二叉树查找值为x的节点2. 5 二叉树层序遍历2. 6 判断二叉树是否是完全二叉树 3. 二叉树性质 1. 节点定义 用…...

力扣189 轮转数组 Java版本
文章目录 题目描述代码 题目描述 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4…...

RMAN异机恢复数据库记录
场景:数据库服务器宕机,无法恢复 处理:使用备份资料进行异地恢复 1.此处环境为同平台、同版本(操作系统版本可以不同,但数据库版本需相同),源机器和目标机器具有相同的目录结构。 2.目标机器只…...

JVM 调优篇7 调优案例4- 线程溢出
一 线程溢出 1.1 报错信息 每个 Java 线程都需要占用一定的内存空间,当 JVM 向底层操作系统请求创建一个新的 native 线程时,如果没有足够的资源分配就会报此类错误。报错信息:java.lang.outofmemoryError:unable to create new Native Thr…...

C++类与对象(三)
目录 1.再谈构造函数 1.1 构造函数体赋值 1.2 初始化列表 1.3 explicit关键字 2.STATIC成员 2.1 概念 2.2 特性 3.C中成员初始化的新玩法 4.友元 4.1 友元函数 4.2 友元类 5.内部类 6.再次理解封装 7.再次理解面向对象 本次内容大纲: 1.再谈构造函数 …...

云栖实录 | 阿里云 OpenLake 解决方案重磅发布:多模态数据统一纳管、引擎平权联合计算、数据共享统一读写
新一轮人工智能浪潮正在重塑世界,以生成式 AI 为代表的技术快速应用,推动了数据与智能的深化融合,同时也给数据基础设施带来了全新的变革与挑战。面向 AI 时代的数据基础设施如何构建?底层数据平台架构在 AI 时代如何演进…...

《线性代数》学渣笔记
文章目录 1 行列式1.1 克拉默法则1.2 基本性质1.3 余子式 M i j M_{ij} Mij1.4 代数余子式 A i j ( − 1 ) i j ⋅ M i j A_{ij} (-1)^{ij} \cdot M_{ij} Aij(−1)ij⋅Mij1.5 具体型行列式计算(化为基本型)1.5.1 主对角线行列式:主…...

对网页聊天项目进行性能测试, 使用JMeter对于基于WebSocket开发的webChat项目的聊天功能进行测试
登录功能 包括接口的设置和csv文件配置 这里csv文件就是使用xlsx保存数据, 然后在浏览器找个网址转成csv文件 注册功能 这里因为需要每次注册的账号不能相同, 所以用了时间函数来当用户名, 保证尽可能的给正确的注册数据, 时间函数使用方法如下 这里输入分钟, 秒…...

《程序猿之设计模式实战 · 适配器模式》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...

Elasticsearch案例
目录 一、创建索引 二、准备数据 三、环境搭建 (1)环境搭建 (2)创建实体类 (3)实现Repository接口 四、实现自动补全功能 五、实现高亮搜索关键字功能 (1)在repository接口中…...

SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)
分页是常见大型项目都需要的一个功能,PageHelper是一个非常流行的MyBatis分页插件,它支持多数据库分页,无需修改SQL语句即可实现分页功能。 本文在最后展示了两种依赖验证的结果。 文章目录 一、第一种依赖方式二、第二种依赖方式三、创建数…...

GSR关键词排名系统是针对谷歌seo的吗?
是的,GSR关键词排名系统专门针对谷歌SEO,具体通过外部优化手段快速提升关键词排名。不同于传统的SEO策略,GSR系统并不依赖于对网站内容的调整或内部优化,完全通过站外操作实现效果。这意味着,用户不需要花费精力在网站…...

HarmonyOS Next开发----使用XComponent自定义绘制
XComponent组件作为一种绘制组件,通常用于满足用户复杂的自定义绘制需求,其主要有两种类型"surface和component。对于surface类型可以将相关数据传入XComponent单独拥有的NativeWindow来渲染画面。 由于上层UI是采用arkTS开发,那么想要…...

什么是电商云手机?可以用来干什么?
随着电商行业的迅速发展,云手机作为一种创新工具正逐渐进入出海电商领域。专为外贸市场量身定制的出海电商云手机,已经成为许多外贸企业和出海电商卖家的必备。本文将详细介绍电商云手机是什么以及可以用来做什么。 与国内云手机偏向于游戏场景不同&…...

Python 2 和 Python 3的差异
Python 2 和 Python 3 之间有许多差异,Python 3 是 Python 语言的更新版本,目的是解决 Python 2 中的一些设计缺陷,并引入更现代的编程方式。以下是 Python 2 和 Python 3 之间的一些主要区别: 文章目录 1. print 语句2. 整除行为…...

Leetcode 第 139 场双周赛题解
Leetcode 第 139 场双周赛题解 Leetcode 第 139 场双周赛题解题目1:3285. 找到稳定山的下标思路代码复杂度分析 题目2:3286. 穿越网格图的安全路径思路代码复杂度分析 题目3:3287. 求出数组中最大序列值思路代码复杂度分析 题目4:…...

spring 注解 - @NotEmpty - 确保被注解的字段不为空,而且也不是空白(即不是空字符串、不是只包含空格的字符串)
NotEmpty 是 Bean Validation API 提供的注解之一,用于确保被注解的字段不为空。它检查字符串不仅不是 null,而且也不是空白(即不是空字符串、不是只包含空格的字符串)。 这个注解通常用在 Java 应用程序中,特别是在处…...

深入理解华为仓颉语言的数值类型
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在编程过程中,数据处理是开发者必须掌握的基本技能之一。无论是开发应用程序还是进行算法设计,了解不同数据类型的特性和用途都至关重要。本文将深入探讨华为仓颉语言中的基本数…...

WPF 的TreeView的TreeViewItem下动态生成TreeViewItem
树形结构仅部分需要动态生成TreeViewItem的可以参考本文。 xaml页面 <TreeView MinWidth"220" ><TreeViewItem Header"功能列表" ItemsSource"{Binding Functions}"><TreeViewItem.ItemTemplate><HierarchicalDataTempla…...

使用Go语言的互斥锁(Mutex)解决并发问题
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 在并发编程中,由于存在竞争条件和数据竞争,我们需要将某些代码片段设定为临界区,并使用互斥锁(Mutex)等同步原语来保护这些临界区。本文将详细介绍Go语言标准库中Mutex的使用方法,以及如何利用它来解决实际…...

Android平台Unity3D下如何同时播放多路RTMP|RTSP流?
技术背景 好多开发者,提到希望在Unity的Android头显终端,播放2路以上RTMP或RTSP流,在设备性能一般的情况下,对Unity下的RTMP|RTSP播放器提出了更高的要求。实际上,我们在前几年发布Unity下直播播放模块的时候…...

网络:TCP协议-报头字段
个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 文章目录 前言一、TCP协议格式16位源端口号 和 16位目的端口号4位首部长度16位窗口大小32位序号 和 32位确认序号6种标记位 和 16位紧急指针 总结 前言 本文是我对于TCP协…...

JAVA基础:HashMap底层数组容量控制,TreeMap底层存取机制,位运算符,原码反码补码
List常用实现类 List集合常用的实现类有3个 , ArrayList , LinkedList , Vector ArrayList 类似于我们之前的ArrayBox 底层使用数组存储元素, 插入删除的效率低,检索的效率高 当底层数组存储容量不足时,会进行扩容,…...