4-Tomcat服务器及标准Web项目结构

news2024/12/27 1:09:43

4-Tomcat服务器及标准Web项目结构

文章目录

  • 4-Tomcat服务器及标准Web项目结构
  • Web服务器组成
  • Web项目的标准结构
    • 根目录下可以放置的文件及文件夹
    • WEB标准结构
    • Web的url组成部分和项目中资源的对应关系
  • Tomcat服务器部署
    • Tomcat部署Web项目的三种方式
    • IDEA部署项目APP到Tomcat的方式概述
  • IDEA创建Web项目并运行在Tomcat服务器
    • 关系总述:IDEA、JavaWeb、APP、Tomcat
    • Java Web项目在idea开发、构建及部署的全过程

Web服务器组成

Web服务器通常由硬件和软件共同构成

  • 硬件:电脑,提供服务供其它客户电脑访问
  • 软件:电脑上安装的服务器软件,安装后能提供服务给网络中的其他计算机,将本地文件映射成一个虚拟的url地址供网络中的其他人访问

image-20231101143647568

Web项目的标准结构

根目录下可以放置的文件及文件夹

根目录(可以放置以下文件,也可以不放置)

  • xml文件
  • img文件夹
    • 图片
  • js文件夹
    • .js文件
  • css文件夹
    • .css文件

WEB标准结构

根目录

  • static文件夹:非必要目录, 约定俗成的名字,一般在此处放静态资源
    • img文件夹
      • 图片
    • js文件夹
      • .js文件
    • css文件夹
      • .css文件
  • WEB-INF文件夹:必要目录,必须叫这个名字,该目录下的资源受保护,浏览器通过url不能直接访问
    • classes文件夹:必要目录,src下源代码,配置文件,编译后会在该目录下,web项目中如果没有源码,则该目录不会出现
    • lib文件夹:必要目录,项目依赖的jar编译后会出现在该目录下,web项目要是没有依赖任何jar,则该目录不会出现
    • web.xml:必要文件, web项目的基本配置文件. 较新的版本中可以没有该文件, 但是学习过程中还是需要该文件
  • index.html文件:非必要文件,为网站默认的欢迎页

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

image-20231101145609111

  • 注意:左图客户端url的”app“和服务器的项目路径”app“可以不是一个值,即:项目的上下文路径和项目的部署目录可以不一样
    • 可以通过映射使得两者不一致,也能访问成功,默认情况下是要保持一致的
    • 可以通过idea来映射

image-20231101142608025

Tomcat服务器部署

Tomcat部署Web项目的三种方式

方法描述
1直接将编译好的项目放在Tomcat服务器的webapps目录下,运行Tomcat,通过浏览器url访问
2(基本同于1)将编译好的项目打成war包放在webapps目录下,tomcat启动后会自动解压war包
3(idea的配置原理)可以将项目放在非webapps的其他目录下,在tomcat中通过conf\Catalina\localhost下的配置文件指向app的实际磁盘路径

方式3步骤

  • 在磁盘的自定义目录上准备一个app

image-20231102113557779

  • 在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件
<!-- 
	path: 项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称,跟项目根目录尽量保持一致
    docBase: 项目在磁盘中的实际路径
 -->
<Context path="/app" docBase="D:\mywebapps\app" />

IDEA部署项目APP到Tomcat的方式概述

  • idea根据关联的tomcat,创建了一个tomcat副本,将项目部署到了这个副本中
    • idea的tomcat副本在C:\用户\当前用户\AppData\Local\JetBrains\IntelliJIdea2022.2\tomcat\中
    • idea的tomcat副本并不是一个完整的tomcat,副本里只是准备了和当前项目相关的配置文件而已,大小为几百K
  • idea启动tomcat时,是让本地tomcat程序按照tomcat副本里的配置文件运行
  • idea的tomcat副本部署项目的模式是通过conf/Catalina/localhost/*.xml配置文件的形式实现项目部署的

image-20231102113241939

IDEA创建Web项目并运行在Tomcat服务器

社区版配置相对麻烦,还是要用专业版

关系总述:IDEA、JavaWeb、APP、Tomcat

image-20231101155135957

  • 建立tomcat和idea的关联
  • 使用idea开发创建javaWeb工程,在Web工程中开发代码
  • 使用idea将JavaWeb工程构建成一个可以发布并运行在服务器上的app
  • 使用idea将构建好的app部署到tomcat中,启动运行,通过url访问响应资源

Java Web项目在idea开发、构建及部署的全过程

看网上视频

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

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

相关文章

响应式编程-基本介绍

响应式编程-基本介绍 什么是响应式编程 响应式宣言&#xff08;The Reactive Manifesto&#xff09; 对响应式系统进行了定义&#xff1a;响应式系统是具备以下特质即时响应性&#xff08;Responsive&#xff09;、回弹性&#xff08;Resilient&#xff09;、弹性&#xff08…

Freeswitch API调用方式

1.API调用方式 可以复制下面内容成.bat文件直接在windows下运行&#xff0c;修改成对应的ip加端口。 echo off SETLOCAL :_starting cls set inputecho echo 1 add agent 21009 11 uuid_check 21009 21 list users 31 check modules …

JAVA中类和对象的认识

1、面向对象的初步认知 1.1 什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。面 向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。用面向对象的…

LabVIEW示波器连续触发编程

LabVIEW示波器连续触发编程 niScopeEX Fetch Forever范例利用了如何设置硬件和驱动的优点来进行连续采集。 当NI-SCOPE设备被设置为采集预触发扫描&#xff0c;设备上的板载内存被用作一个环形缓冲。这样&#xff0c;无论触发何时到来&#xff0c;设备都可以追踪和检索所有要求…

Ubuntu开机无法进入系统,文件根系统目录空间不足导致?

前言&#xff1a; 自己电脑上装的是Win11和Ubuntu20双系统&#xff0c;平时就是切换着用。 偶然有次&#xff0c;Ubuntu提示文件根系统目录空间不足&#xff0c;自己没在意。 结果下次开机进入Ubuntu时候&#xff0c;芭比Q了。。进不了系统 这样的事情发生很多次了&#xff0c;…

密度聚类与层次聚类

大家好&#xff0c;我是带我去滑雪&#xff01; 密度聚类&#xff08;Density-based Clustering&#xff09;和层次聚类&#xff08;Hierarchical Clustering&#xff09;是两种不同的聚类方法&#xff0c;用于将数据集中的数据点分组成簇。 目录 一、密度聚类 &#xff08;…

高频时序数据仓库-在线课堂二

详细了解天软高频时序数据仓库的构架及性能后&#xff0c;本周天软在线课堂将带来高频时序数据仓库的应用展示。扫描图片二维码可报名参会。

MATLAB|热力日历图

目录 日历图介绍&#xff1a; 热力日历图的特点&#xff1a; 应用场景&#xff1a; 绘图工具箱 属性 (Properties) 构造函数 (Constructor) 公共方法 (Methods) 私有方法 (Private Methods) 使用方法 日历图介绍&#xff1a; 热力日历图是一种数据可视化形式&#xf…

Pioneer电源维修PM36218B-10P-1-8PH-J

开关电源出现不启振的时候&#xff0c;我们通常需要查看开关频率是否正确、保护电路是否断路、电压反馈电路、电流反馈电路又没问题&#xff0c;开关管是否击穿等。 pioneer电源维修时&#xff0c;PWM模块为UC3843&#xff0c;检测未发现其他异常&#xff0c;在R(220K)上并接一…

美妆行业如何通过自媒体提升品牌曝光

自媒体的出现使美妆行业的推广方式产生了变化&#xff0c;自媒体平台的用户年轻化、用户基数大、消费力较强&#xff0c;能够接受新鲜事物&#xff0c;为美妆品牌带来广阔的市场和消费人群。 因此自媒体平台的内容运营十分重要&#xff0c;今天媒介盒子就来和大家聊聊&#xf…

VBA技术资料MF80:选择文件及文件夹

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…

ARPG----C++学习记录03 Section7位置,偏移,函数

Pawn 新建一个Pawn的c类Bird&#xff0c;并且新建一个蓝图 添加一个Capsule&#xff08;胶囊&#xff09; 不知道要加啥头文件&#xff0c;去网站找https://docs.unrealengine.com/5.3/en-US/API/Runtime/Engine/Components/UCapsuleComponent/SetCapsuleSize/ 包含文件名字的头…

【vue3/高德地图】实现地图打点/自定义点位图标/地理围栏实现

<template><div class"app-container"><div id"container"></div></div> </template><script setup> import AMapLoader from amap/amap-jsapi-loader; /*在Vue3中使用时,需要引入Vue3中的shallowRef方法(使用s…

Microsoft Edge浏览器不兼容解决办法

找到 Edge 的安装位置&#xff0c;一般在 C:\Program Files (x86)Microsoft Edge\Application\ 这个目录&#xff0c;把 edge.exe 或msedge.exe 修改为 chrome.exe 再重启电脑。

DocTemplateTool - 可根据模板生成word或pdf文件的工具

你是否经常遇到这样的场景&#xff1a;产品运营有着大量的报告需求&#xff0c;或者给客户领导展现每周的运营报告&#xff1f;这些文档类的任务可以交给运营同事&#xff0c;他们负责文档排版和样式&#xff0c;你作为开发人员你只需要提供数据源&#xff0c;和一个映射表&…

C++ -std 编译标准

概述 任何一门编程语言都有相关的组织和团体在不停的维护和更新。原因很简单&#xff0c;时代在发展&#xff0c;编程语言如果停滞不前&#xff0c;最终就会被淘汰。 以 C 语言为例&#xff0c;发展至今该编程语言已经迭代了诸多个版本&#xff0c;例如 C89 &#xff08;偶尔…

十大字体设计网站年终盘点:顶级设计师独家推荐

即时设计 首款国产的专业 UI 设计工具即时设计&#xff0c;官方字体库内置几十种字体任你选择&#xff0c;例如阿里巴巴惠普体、思源宋体、思源黑体、优设标题黑等&#xff0c;一键点击使用无需下载安装。还能够根据设计内容进行字体粗细调节&#xff0c;从纤细到特粗&#xf…

基准测试详解

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

柱状图:带误差棒

误差棒可以表示样本标准差&#xff0c;也可以表示样本标准误。 导入库&#xff1a; import pandas as pd 自定义用来绘制带误差棒&#xff08;样本标准差或样本标准误&#xff09;的柱状图&#xff1a; def col(y, x, face, df, errprbarstd) : print(ggplot(df.groupby([x…

el-checkbox-group的全选与反选

需求如下&#xff1a; 思路&#xff1a;在点击全部时按钮组双向绑定赋值全部值&#xff0c;点击按钮组内按钮计算选中按钮数量与按钮组数量对比&#xff0c;判定是否选中全部 代码如下&#xff1a; <template><div><el-checkbox-button v-model"checkall…