06_Tomcat

文章目录

  • Tomcat
  • 1.概念
  • 2.Tomcat安装
  • 3.Tomcat项目结构
  • 4.标准web项目结构
  • 5.Tomcat部署项目方式
  • 6.IDEA关联Tomcat
    • 6.1 构建tomcat和idea关联
    • 6.2 使用idea创建一个Javaweb工程
    • 6.3 使用idea将工程**构建**成一个app
    • 6.4 使用idea将构建好的app**部署**到tomcat中

Tomcat

1.概念

Tomcat就是一个服务器软件;专门应用于WEB应用软件;

2.Tomcat安装

jdk1.8配置tomcat8.5

直接去tomcat官网下载tomcat8.5

https://tomcat.apache.org

  • 版本:企业用的比较广泛的是8.0和9.0,目前比较新正式发布版本是Tomcat10.0, Tomcat11仍然处于测试阶段。
  • JAVAEE 版本和Servlet版本号对应关系 Jakarta EE Releases
Servlet VersionEE Version
6.1Jakarta EE ?
6.0Jakarta EE 10
5.0Jakarta EE 9/9.1
4.0JAVA EE 8
3.1JAVA EE 7
3.1JAVA EE 7
3.0JAVAEE 6
  • Tomcat 版本和Servlet版本之间的对应关系
Servlet Version**Tomcat ** VersionJDK Version
6.111.0.x17 and later
6.010.1.x11 and later
5.010.0.x (superseded)8 and later
4.09.0.x8 and later
3.18.5.x7 and later
3.18.0.x (superseded)7 and later
3.07.0.x (archived)6 and later (7 and later for WebSocket)

在这里插入图片描述

解压后,设置环境变量

在这里插入图片描述

注意:Tomcat home是CATALINA_HOME

在这里插入图片描述

修改conf中properties文件控制台打印的字符集修改为GBK

在这里插入图片描述

3.Tomcat项目结构

在这里插入图片描述

4.标准web项目结构

在这里插入图片描述

一般的web工程目录

在这里插入图片描述

WEB-INF目录下,资源是受保护的资源,不可以通过浏览器或客户端直接访问

在这里插入图片描述

WEB-INF放的文件

–classes Java写的代码的字节码根路径

–lib 第三方jar包

–web.xml 当前项目的配置文件

在这里插入图片描述

5.Tomcat部署项目方式

在这里插入图片描述

path表示url的上下文路径,docBase表示项目的磁盘路径

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

在这里插入图片描述

6.IDEA关联Tomcat

IDEA是工程开发工具,先将工程打包转化为APP之后部署到tomcat

转化为APP过程叫做构建,APP到Tomcat叫做部署

在这里插入图片描述

6.1 构建tomcat和idea关联

idea关联tomcat,注意选到bin上一层即可

在这里插入图片描述

一个idea可以关联多个版本的tomcat

6.2 使用idea创建一个Javaweb工程

先准备一个空项目 workspace for IDEA作为所有app的父项目,未来所有的app全部作为模块放到当前文件夹下

在这里插入图片描述

进行结构配置,指定SDK

在这里插入图片描述

此处的Compiler output表示最终构建的项目存放路径,这个out目录一定要有,如果没有自己手动创建即可

创建javaweb项目

在这里插入图片描述

为demo01-web01模块添加tomcat依赖

在这里插入图片描述

添加web依赖

添加项目组件Add Frameworks Support

shift K快捷键

在这里插入图片描述

此时就多了个web资源组件

在这里插入图片描述

此时,Java代码往src写,css,js,html代码往web放即可

创建resources放置配置相关文件,使其于src文件分开,便于管理,并且对其进行标记,这样可以最终可以一起去编译。编译完成后会在WEB-INF中生成一个classes目录;

在这里插入图片描述

若是想导入jar包,web工程下必须放到WEB-INF中lib目录下

并且必须将lib目录设置为Library即可使用,否则jar包用不了

在这里插入图片描述

然后选择Module Library即可使当前jar包仅作用于当前module

完成后jar包前面会有箭头

在这里插入图片描述

6.3 使用idea将工程构建成一个app

在这里插入图片描述

在这里插入图片描述

此处的demo01-web01-war-exploded就是可以发布的app

前端工程构建默认war包

app构建好了以后,调节配置,使其能够在tomcat中运行

点击current File 进行edit

在这里插入图片描述

点击加号将app新加

在这里插入图片描述

6.4 使用idea将构建好的app部署到tomcat中

修改app url名,未来好打url路径

在这里插入图片描述

之后直接运行tomcat

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:
idea功能强大,我们的流程是先对tomcat进行配置后对工程进行构建;实际上,我们不需要手动构建工程,我们可以直接对tomcat进行配置,idea会自动构建工程,并且放到out目录中

中文乱码解决:修改tomcat下conf目录中logging.properties

在这里插入图片描述

修改ConsoleHeader.encoding为UTF-8

在这里插入图片描述

idea并没有将构建的app直接部署到tomcat中,而是创造副本,将app部署到副本中

在这里插入图片描述

此副本仅保留配置信息,tomcat软件按照副本的配置文件来进行运行

副本路径

"C:\Users\User\AppData\Local\JetBrains\IntelliJIdea2023.3\tomcat\ce6cfc94-db31-433f-9ba2-38ccf7543819"
Using CATALINA_HOME:   "M:\02_Module\36_Tomcat"

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

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

相关文章

Nginx R31 doc-13-Limiting Access to Proxied HTTP Resources 访问限流

前言 大家好,我是老马。很高兴遇到你。 我们为 java 开发者实现了 java 版本的 nginx https://github.com/houbb/nginx4j 如果你想知道 servlet 如何处理的,可以参考我的另一个项目: 手写从零实现简易版 tomcat minicat 手写 nginx 系列 …

进程信号(2)

一、信号的处理 进程对应信号的处理的一般步骤就是:先去遍历pending位图,找到比特位为1的位置对应的信号,然后再去检测block位图对应位置的比特位是否为1。若不为1,就hander表的对应位置去调用信号的处理动作函数,若为…

探索增强现实(AR)的未来:超越智能手机与AR滤镜

随着技术的不断进步,增强现实(AR)正逐渐从智能手机和简单的AR滤镜中解放出来,迈向一个全新的时代。Ericsson ConsumerLab的最新研究报告《Augmented tomorrow: AR experiences beyond smartphones and AR filters》为我们提供了一个关于AR技术未来发展的深刻洞见。本文将探…

JS入门学习

JS JavaScript是一门解释型的脚本语言,其是弱类型的,对变量的数据类型不做严格的要求,变量的类型可以在运行过程中变化 JavaScript能改变HTML内容,属性,样式 大纲 使用方式变量运算符数组JS函数自定义对象事件补充 …

训练的过程中内存一直增加的问题(内存泄漏)、如何检查是否内存泄漏

更新于:2024年5月27日09:47:01 经过了漫长的排查,使用tracemalloc也并不能找到哪里内存泄漏,最后只能通过给出的错误去反思,然后再凭感觉去猜测错误所在位置: 所报的错误是: Too many open files&#x…

mysql中InnoDB的表空间--独立表空间

大家好,上篇文章我们在讲mysql数据目录的时候提到了表空间这个名词,它是一个抽象的概念,对于系统表空间来说,对应着文件系统中一个或多个实际文件;对于每个独立表空间来说,对应着文件系统中一个名为表名.ib…

DQL( 数据查询语言)

1. 基本查询 select * from 表名; select 字段,字段2,… from 表名; select * from 表名 where 筛选条件; select 字段,字段2,… from 表名 where 筛选条件; 2. 范围查询 select * from emp where sal 3000; select * from emp where sal ! 3000; select * from emp where s…

node.js学习P3-P10

P3 npm package.json(package解读npm工具换镜像源) 一个package.json文件可以的作用 作为一个描述文件,描述了你的项目依赖哪些包 ,用来干什么的允许我们使用“语义版本规则”,指明你项目依赖的版本让你的构建更好的…

Java绩效考核系统源码 springboot员工绩效考核系统源码

Java绩效考核系统源码 springboot员工绩效考核系统源码-009 源码下载地址:https://download.csdn.net/download/xiaohua1992/89352195 项目介绍 本系统的功能分为管理员和员工两个角色 管理员的功能有: (1)个人中心管理功能&a…

代码随想录训练营Day49、50、52:Leetcode123、188、309、714、300、674、718

Leetcode123: 问题描述: 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易(你必须在再次购买前…

一文搞定cuda版本、显卡驱动及多CUDA版本管理

安装cuda是每个AI从业人员必经之路。网上关于cuda、显卡驱动已经相关命令很多都解释不清楚,于是本文梳理一下,既方便自己记忆,也方便小白学习。 CUDA 首先,CUDA版本,一般指cuda-toolkit,即cuda开发工具包…

XShell免费版的安装配置

官网下载 https://www.xshell.com/zh/free-for-home-school/ 下载地址 通过邮箱验证 新建会话 通过ssh登录树莓派 填写主机IP 点击用户身份验证 成功连接

hadoop基础之MapReduce的学习

hadoop基础之MapReduce的学习 MapReduce的执行步骤: 1.Map package com.shujia.mr.worcount;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapp…

24校招总结

个人背景 本科:三本通信专业 硕士:B区双非计算机硕 今年2月签了东南沿海二线城市某公司C游戏服务端开发 我同学大部分都是去电网,大专老师,气象局事业编……就我这个是纯牛马了。 离收到Offer3个月了,前段时间参加…

高项案例分析知识点总结

文章目录 纠错题计算题进度估算成本管理立项管理版本管理组合管理知识产权信息技术计算题运筹学 纠错题 人:人员经验、能力、数量、缺少培训;自己一个人完成需求和计划不正确流程:先做什么,后做什么,流程是否正确。是…

前端基础入门三大核心之JS篇:掌握数字魔法 ——「累加器与累乘器」的奥秘籍【含样例代码】

前端基础入门三大核心之JS篇:掌握数字魔法 ——「累加器与累乘器」的奥秘籍 🧙‍♂️ 基础概念:数字的魔杖与炼金术累加器(Accumulator)累乘器(Multiplier) 📚 实战演练:…

c++ (命名空间 字符串)

思维导图&#xff1a; 定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 #include <iostream> #include <cstring> //定义自己得命名空间myspace,在myspace中定义string类型变量s1,再定义一个函数完成字符串逆置 using n…

抽屉网关停,Digg类网站退出互联网舞台

关注卢松松&#xff0c;会经常给你分享一些我的经验和观点。 别人我不清楚&#xff0c;至少在松松我心中&#xff1a;抽屉网是世界著名的网站&#xff0c;而近期抽屉新热榜突然宣布关站了&#xff0c;我内心充满遗憾。因为抽屉网站收集的内容&#xff0c;让我看到了更大的世界…

【算法】合并k个已排序的链表

✨题目链接&#xff1a; NC51 合并k个已排序的链表 ✨题目描述 合并 k 个升序的链表并将结果作为一个升序的链表返回其头节点。 数据范围&#xff1a;节点总数 0≤&#x1d45b;≤50000≤n≤5000&#xff0c;每个节点的val满足 ∣&#x1d463;&#x1d44e;&#x1d459;∣&…

【学习记录】服务器转发使用tensorboard

场景 代码在服务器上运行&#xff0c;想使用tensorboard查看训练的过程。 但是服务器上不能直接访问地址&#xff0c;所以要转发端口到本地&#xff0c;从而在本地网页中能够打开tensorboard。 参考&#xff1a;https://zhuanlan.zhihu.com/p/680596384 这时我们需要建立本地…