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

Tomcat_WebApp

Tomcat的目录的介绍

  1. /bin
    这个目录包含启动和关闭 Tomcat 的脚本。

    • startup.bat / startup.sh:用于启动 Tomcat(.bat 文件是 Windows 系统用的,.sh 文件是 Linux/Unix 系统用的)。
    • shutdown.bat / shutdown.sh:用于停止 Tomcat。
  2. /conf
    这是 Tomcat 的配置文件目录,里面的文件用来配置服务器的行为。

    4aa2181b85c0469da9be492277a5ce79.png

    • server.xml:Tomcat 的核心配置文件,定义了服务器的端口、连接器、虚拟主机等。
    • web.xml:全局的 Web 应用程序配置文件,设置默认的 MIME 类型、欢迎页面、错误处理等。
    • context.xml:每个 Web 应用的默认配置。
  3. /lib
    这个目录包含 Tomcat 运行时需要的 Java 类库和依赖包。大多数情况下,你不需要改动这个目录,它已经包含了 Tomcat 必需的库文件。

  4. /logs
    Tomcat 的日志文件会存放在这里。你可以通过查看这些日志来了解服务器的运行状态、错误信息以及访问记录。

    • catalina.out:这是 Tomcat 主要的日志文件,记录了 Tomcat 启动时输出的所有信息。
  5. /temp
    这是 Tomcat 临时文件的存放目录。在运行 Web 应用时,有些临时文件会存储在这个目录中。

  6. /webapps
    这个目录是 Web 应用程序的部署目录。你可以把 .war 文件(Java Web 应用打包格式)或解压后的应用放在这个目录下,Tomcat 会自动加载和运行这些应用。

    • 默认情况下,Tomcat 自带了一些 Web 应用,比如 ROOTmanager(Tomcat 管理应用)、host-manager 等。
  7. /work
    这个目录存放的是 Tomcat 运行时生成的临时文件,主要是 JSP 转化成的 Servlet 代码。如果你对 JSP 做了修改,Tomcat 会自动重新编译它们,并把生成的文件存放在这里。

小结

  • bin:用于启动和关闭 Tomcat 的脚本。
  • conf:服务器的配置文件。
  • lib:Tomcat 的类库。
  • logs:存放服务器的日志。
  • webapps:存放你的网站或 Web 应用程序。
  • worktemp:存放运行时的临时文件。

 Tomcat_WebApp的标准结构:

/myapp  (应用的根目录)
│
├── /WEB-INF  (Web 应用的核心配置目录)
│   ├── web.xml  (Web 应用的描述符文件)
│   ├── classes/  (存放编译后的 Java 类文件)
│   ├── lib/  (存放 Web 应用的第三方库文件,如 .jar 包)
│   └── classes/  (Java 类文件的目录)
│
├── /META-INF  (可选的元数据目录,通常包含 MANIFEST.MF 文件)
│
├── /static  (存放静态资源文件,图片、CSS、JS等)
│
├── /jsp  (存放 JSP 页面文件)
│
└── index.jsp  (Web 应用的主页文件,可放在根目录)

79dd5c5df8e04757a3934400c26c2be5.png

 

 

url的成部分和项目中资源的对应关系: 

8511421f53b641c983801f7bdee5d8c4.png

 

Web项目部署的方式:

方式1:

直接将编译好的项目放在webapps目录下

方式2 :

将编译好的项目打成war包放在webapps目录,tomcat启动后会自动解压war包(其实和第一种一样,后面通过maven完成)。

方式3:

可以将项目放在非webapps的其他目录下,在Tomcat中通过配置文件指向app的实际磁盘路径。

在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件

d51257d32df943d4aeb254ab247dbe9e.png

 

69b24c76a86b4e3e9bcdeec924676744.png

 

例如: 

54d52f21ff5245f292dfff59745c2023.png

<!--path:项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称
docBase:项目在磁盘中的实际路径
-->
<Context path="/app" docBase="D:\mywebapps\app" />

管理访问 Tomcat 管理页面的权限:


tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了

例如添加账号密码都为admin:

 <role rolename="admin-gui"/><role rolename="admin-script"/><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user username="admin" password="admin" roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"/>

浏览器访问:/managerhttp://localhost:8080/manager/html 出现Tomcat Web应用程序管理者即可

如何使用IDEA来开发JavaWeb工程

76a7c798f605478f9182d42ab7ad226b.png

 2b0947d510064f1b8ead42f497559648.png

769616e3d61242ad9ada9b25009695bd.png32a2e85aa8e74049928a135a1cfed72d.png 32ecb4f2a81b44b28505d786ebf38c4f.png

b63f30cd637747daaa61445756fe6c24.png

找到add framework support之后就可以找到web6.0的版本,之后就会有一个web的导包

0fd0831d1a87444d81d3bd98b2cb73cf.png

如何进行把Java依赖项导入IDEA?

a43a6652fa224e36999f1933365c6069.png

建立好了基本框架如何进行Build? 

ee61f15ec11c4261b2bdf3525ccda30d.png

要手动点Build Artificats,否则没有out里面WEB -INF的包 

 Bulid之后有自动的生成的out文件

fda6ba09f5b04500a369b176de34a5fd.png

详细配置,链接:在【IntelliJ IDEA】中配置【Tomcat】【2023版】【中文】【图文详解】_怎么在新版的intellijidea中配置tomcat服务器-CSDN博客 IDEA中设置properties在IDEA中创建properties配置文件_idea创建properties配置文件-CSDN博客

如何在IDEA中使用Tomcat?

3bcef451a0f342a487b2e853c70e30fa.png

2ebaab73285041d199cbcbfb0593b286.pngApplication context是网址输入的名称

258014e90ee142bb92e1619bf39ea34e.png

为什么Tomcat里面没有该项目的XML?

因为TomCat在IDEA当中设置了一个副本 

dd5010a6a4904bc38b5190f1241221d9.png

 

相关文章:

Tomcat_WebApp

Tomcat的目录的介绍 /bin&#xff1a; 这个目录包含启动和关闭 Tomcat 的脚本。 startup.bat / startup.sh&#xff1a;用于启动 Tomcat&#xff08;.bat 文件是 Windows 系统用的&#xff0c;.sh 文件是 Linux/Unix 系统用的&#xff09;。shutdown.bat / shutdown.sh&#xf…...

代码随想录算法训练营Day10

150. 逆波兰表达式求值 力扣题目链接&#xff1b;. - 力扣&#xff08;LeetCode&#xff09; Collection——Deque——LInkedList类 class Solution {public int evalRPN(String[] tokens) {Deque<Integer> myquenew LinkedList<>();for(String a:tokens){if(a.…...

十个服务器中毒的常见特征及其检测方法

服务器作为企业的核心资源&#xff0c;其安全性至关重要。一旦服务器被病毒入侵&#xff0c;不仅会影响系统的正常运行&#xff0c;还可能导致数据泄露等严重后果。以下是十种常见的服务器中毒特征及其检测方法。 1. 系统性能下降 病毒常常占用大量的CPU和内存资源&#xff0…...

LeetCode 每周算法 6(图论、回溯)

LeetCode 每周算法 6&#xff08;图论、回溯&#xff09; 图论算法&#xff1a; class Solution: def dfs(self, grid: List[List[str]], r: int, c: int) -> None: """ 深度优先搜索函数&#xff0c;用于遍历并标记与当前位置(r, c)相连的所有陆地&…...

Selenium元素定位:深入探索与实践

目录 一、引言 二、Selenium元素定位基础 1. WebDriver与元素定位 2. 定位策略概览 三、ID定位 1. 特点与优势 2. 示例代码 四、Class Name定位 1. 特点与限制 2. 示例代码 五、XPath定位 1. 特点与优势 2. 示例代码 3. XPath高级用法 六、CSS Selector定位 1.…...

前端开发——(1)使用vercel进行网页开发

前端开发——&#xff08;1&#xff09;使用Vercel进行网页开发 在现代前端开发中&#xff0c;选择一个高效的部署平台至关重要。Vercel 提供了快速、简便的部署方式&#xff0c;特别适合静态网站和 Next.js 应用。本文将带你逐步了解如何使用 Vercel 部署并运行你的网页项目。…...

故障诊断│GWO-DBN灰狼算法优化深度置信网络故障诊断

1.引言 随着人工智能技术的快速发展&#xff0c;深度学习已经成为解决复杂问题的热门方法之一。深度置信网络&#xff08;DBN&#xff09;作为深度学习中应用比较广泛的一种算法&#xff0c;被广泛应用于分类和回归预测等问题中。然而&#xff0c;DBN的训练过程通常需要大量的…...

【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop

总结 Deskpins 功能单一&#xff0c;拖到窗口上窗口就可以置顶并且标记钉子标签&#xff0c;大小 104 KB&#xff0c;开源位置&#xff1a;https://github.com/thewhitegrizzli/DeskPins/releases WindowTop 功能完善全面强大&#xff0c;包括透明度、置顶、选区置顶等一系列功…...

【Unity杂谈】iOS 18中文字体显示问题的调查

一、问题现象 最近苹果iOS 18系统正式版推送&#xff0c;周围升级系统的同事越来越多&#xff0c;有些同事发现&#xff0c;iOS 18上很多游戏&#xff08;尤其是海外游戏&#xff09;的中文版&#xff0c;显示的字很奇怪&#xff0c;就像一些字被“吞掉了”&#xff0c;无法显示…...

后端-navicat查找语句(单表与多表)

表格字段设置如图 语句&#xff1a; 1.输出 1.输出name和age列 SELECT name,age from student 1.2.全部输出 select * from student 2.where子语句 1.运算符&#xff1a; 等于 >大于 >大于等于 <小于 <小于等于 ! <>不等于 select * from stude…...

基于springboot的在线视频点播系统

文未可获取一份本项目的java源码和数据库参考。 国外研究现状&#xff1a; 与传统媒体不同的是&#xff0c;新媒体在理念和应用上都采用了新颖的媒介或媒体。新媒体是指应用在数字技术、在传统媒体基础上改造、或者更新换代而来的媒介或媒体。新兴媒体与传统媒体在理念和应用…...

笔记整理—内核!启动!—kernel部分(8)动态编译链接库与BSP文件

linux的C语言程序是用编译的&#xff0c;但是如果要在开发板上运行的话就不能使用默认的ubuntu提供的gcc编译器&#xff0c;而是使用arm-linux版本的一类的编译器。我们可以用file xx去查看一个程序的架构。 &#xff08;arm架构&#xff09; &#xff08;intel的80386架构&…...

Cpp类和对象(中续)(5)

文章目录 前言一、赋值运算符重载运算符重载赋值运算符重载赋值运算符不可重载为全局函数前置和后置的重载 二、const修饰成员函数三、取地址及const取地址操作符重载四、日期类的实现构造函数日期 天数日期 天数日期 - 天数日期 - 天数日期类的大小比较日期类 > 日期类日…...

深度学习02-pytorch-01-张量的创建

深度学习 pytorch 框架 是目前最热门的。 深度学习 pytorch 框架相当于 机器学习阶段的 numpy sklearn 它将数据封装成张量(Tensor)来进行处理&#xff0c;其实就是数组。也就是numpy 里面的 ndarray . pip install torch1.10.0 -i https://pypi.tuna.tsinghua.edu.cn/simp…...

pg入门9—pg中的extentions是什么

在 PostgreSQL&#xff08;PG&#xff09;中&#xff0c;Extension&#xff08;扩展&#xff09; 是一组预先打包的功能模块&#xff0c;可以轻松地添加到数据库中以扩展其功能。这些扩展通常包含新的数据类型、函数、索引方法、操作符以及其他数据库增强功能。通过扩展&#x…...

JAVA:Nginx(轻量级的Web服务器、反向代理服务器)--(1)

一、Nginx:起因 nginx为什么为开发出来,起因是什么 总述:NGINX 的开发起因源于上世纪 90 年代末至 2000 年代初的互联网快速发展。当时,互联网流量急剧增长,特别是像 Apache 这样的传统 Web 服务器在高并发连接处理方面开始显现出瓶颈。 举例子:Apache 的 "每个连接…...

互斥锁和自旋锁

1、锁&#xff1a; 自旋锁与‌互斥锁的区别主要体现在以下几个方面&#xff1a; 1. 实现方式 ‌互斥锁‌&#xff1a;属于‌sleep-waiting类型的锁。当一个线程尝试获取已被其他线程持有的互斥锁时&#xff0c;该线程会被阻塞&#xff08;进入睡眠状态&#xff09;&#xff…...

救生圈检测系统源码分享

救生圈检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…...

容器技术--Dockerfile 构建镜像

Dockerfile dockerfile 是一系列命令&参数构成的脚本,这些命令应用于基础镜像,最终创建一个新的镜像,可以提供一致的运行环境。【也可以登录容器,自己安装软件,最后commit为镜像】 命令 FROM 指定基础镜像(必须),如FROM ubuntu;每一个指令就生成一层镜像;RUN 运…...

Hive企业级调优[5]—— HQL语法优化之数据倾斜

目录 HQL语法优化之数据倾斜 数据倾斜概述 分组聚合导致的数据倾斜 优化说明 优化案例 Join导致的数据倾斜 优化说明 优化案例 HQL语法优化之数据倾斜 数据倾斜概述 数据倾斜问题通常指的是参与计算的数据分布不均&#xff0c;即某个key或某些key的数据量远超其他key&#xff…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

Python常用模块:time、os、shutil与flask初探

一、Flask初探 & PyCharm终端配置 目的: 快速搭建小型Web服务器以提供数据。 工具: 第三方Web框架 Flask (需 pip install flask 安装)。 安装 Flask: 建议: 使用 PyCharm 内置的 Terminal (模拟命令行) 进行安装,避免频繁切换。 PyCharm Terminal 配置建议: 打开 Py…...