JavaWeb 12.Tomcat10

希望明天能出太阳

或者如果没有太阳的话

希望我能变得更加阳光一点

                                        —— 24.9.25

一、常见的JavaWeb服务器

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

硬件:电脑,提供服务供其他客户电脑访问

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

二、Tomcat

1.TomCat简介

Tomcat是当前应用最广泛的JavaWeb服务器

Tomcat是Apache软件基金会(Apache Software foundation)的Jakarta项目中的一个核心项目,由Apache、sun 和其他一些公司及个人共同开发而成。最新的serviet和JSP 规范总是能在Tomcat 中得到体现,因为Tomcat技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

TomCat——JavaWeb服务器

2.TomCat下载安装

Tomcat下载官网:http://tomcat.apache.org/

TomCat10与TomCat8、TomCat9代码不能互通

TomCat10需要的JDK版本是jdk11以后的版本

点击starup启动tomcat

启动后在浏览器输入:localhost:8080,显示如下页面:

关闭时点击shutdown文件将其关闭

或将CMD窗口直接关闭,就可以将TomCat关闭

在显示登陆文件时,出现中文乱码问题:应修改TomCat配置文件Conf,修改字符集格式,以解决中文乱码问题

寻找文件中的ConsoleHandler项,修改字符编码

3.TomCat目录及测试

bin目录

该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat10.exe、tomcat10w.exe,前者是在控制台下启动Tomcat,后者是弹出GUI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA HOME环境变量才能启动,shutdown.bat用来停止Tomcat;

conf目录

是一个非常非常要的目录,这个目录下有四个最为重要的文件:

① server.xml:配置整个服务器信息。例如修改端口、端口号。默认HTTP请求的端口号是:8080

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

③ web.xml:部署项目的公共特征,部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的

④ context.xml:对所有应用的统一配置,通常我们不会去配置它。

⑤ logging.properties:控制打印日志行为和打印日志特征(控制乱码问题)

⑤ Catalina:Catalina引擎相关配置,配置项目时放一些配置信息

lib目录

Tomcat的类库,里面是一大堆jar文件。如果需要添加TomCat 依赖的jar文件,可以它到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar包所有项目都可以共享之,但这样你的应用放到其他TomCat下时就不能再共享这个目录下的jar包 了,所以建议只把TomCat需要的jar包放到这个目录下;

logs目录

logs:这个目录中都是文件,记录了Tomcat 启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中,存放日志文件(不经常使用可以手动清除)。

temp目录

temp:存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除

⭐Webapps目录

webapps:存放web项目的目录,其中每个文件夹都是一个项目,如果这个目录下已经存在了目录 ,那么都是tomcat自带的项目。其中ROOT是一个特殊的项目,在地址栏中访问:http://127.0.0. 1.8080,没有给出项目目录时,对应的就是ROOT项目:http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。

启动webapps中TomCat自带的web项目:

        ① 启动TomCat

        ② 逐层输入对应项目的url

        ③ 打开项目

上面地址栏的examples叫做项目的上下文路径,也叫做项目的访问路径

下面的examples叫做项目的部署目录

work目录

work:与JSP技术有关,运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的,可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下,

LICENSE 许可证目录。

NOTICE 说明文件目录。

4.Web项目的标准架构

部署项目的第一种方式

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

将图片、CSS文件、JS文件放在一个static文件夹下

WEB-INF目录:字节码根路径文件classes、项目中的第三方jar包依赖存放路径lib、当前项目的配置文件web.xml

标准的app目录结构

部署项目的第二种方式

将编译好的项目打成war包放在webapps目录下,tomcat启动后会自动解压war包

部署项目的第三种方式

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

默认访问文件夹中的index.html资源

root目录中的资源访问不需要添加上下文

manager文件和host-manager文件访问时需要提供账号和密码,账号和密码在conf文件夹下的tomcat-users下设置

设置后按照用户登录,即可以访问manager文件和host-manager文件

5.IDEA中开发并部署运行WEB项目

① IDEA关联本地TomCat

② 使用idea创建一个JavaWeb工程,在Web工程中开发代码

推荐先创建一个空项目,这样可以在一个空项目下同时存在多个modules,不用后续氺回切换之前的项目,当然也可以忽路此步直接创建web项目

首先在web项目中指定SDK

创建一个web项目模块

添加TomCat10的依赖

在help中点击Find Action 搜索Add Framework Support

 

版本号不够,提升版本号

给项目添加TomCat10依赖

添加web资源组件,版本号提升

多出一个web资源组件,此时是一个Java Web项目

将index.jsp文件删除

在web文件夹中添加html文件

在html文件中引入js文件和css文件

把lib文件夹中的jar包添加到当前文件夹中的依赖

③ 使用idea将工程构建成一个可以发布的app

APP文件

④ 使用idea将构建好的app部署到tomCat中,启动运行

点击Edit Configurations,将项目部署在TomCat上运行

将项目拖拽上来

修改路径名为web01

设置server配置

启动TomCat打开网页

自启动打开网页

6.idea部署并运行项目的原理

        idea有接进将编好的项目入Tomcat的webapps中;

        idea根据关联的Tomcat,创建了一个Tomcat副本,将项目部署到了这个副本中;

        idea的Tomcat副本在C:\用户\前用户\AppData\Local\JetBrains\IntelliJIdea2022.2\tomcat\中;

        idea的Tomcat本不是一个完整的tomcat,副本里只是准备了和当前项目相关的配置文件而已;

        idea启动Tomcat时,是副本Tomcat程序按照Tomcat副本的配置文件运行;

        idea的Tomcat副本部署项目的模式是通过conf/Catalina/localhost/*.xml配置文件的形式实现项目部署的;

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

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

相关文章

TIOBE 编程指数 9 月排行榜公布 VB.Net第七

原文地址:百度安全验证 IT之家 9 月 8 日消息,TIOBE 编程社区指数是一个衡量编程语言受欢迎程度的指标,评判的依据来自世界范围内的工程师、课程、供应商及搜索引擎,今天 TIOBE 官网公布了 2024 年 9 月的编程语言排行榜&#xf…

介绍 Agent Q:迎接下一代 AI 自动化助手

引言 在科技领域,随着人工智能的不断进步,自动化工具日益成为提升效率的重要手段。今天,我将向大家介绍一款名为 Agent Q 的 AI 自动化助手。这款工具不仅能够完成复杂的任务,还支持交互式命令行操作,使得用户体验更为…

飞驰云联亮相电子半导体数智化年会 获”数据交换领域最佳厂商”

2024年9月20日,“2024第二届电子半导体/智能制造数智化年会暨品牌出海论坛”于上海隆重开幕,Ftrans飞驰云联作为国内领先的数据安全交换厂商,应邀携半导体全场景产品和解决方案亮相此次峰会。会上进行了“智象奖”评选,Ftrans飞驰…

java并发之并发关键字

并发关键字 关键字一:volatile 可以这样说,volatile 关键字是 Java 虚拟机提供的轻量级的同步机制。 功能 volatile 有 2 个主要功能: 可见性。一个线程对共享变量的修改,其他线程能够立即得知这个修改。普通变量不能做到这一点&a…

从零开始学习PX4源码5(遥控器数据)

#目录 文章目录 摘要1.PX4 遥控器控制整体流程2.PX4 遥控器输入程序3.PX4 遥控器数据外部调用接口4.PX4 遥控器手动(姿态控制)变量5.遥控器数据整体流程摘要 本节主要记录PX4代码中如何获取遥控器数据,遥控器数据如何被外界调用的过程,欢迎批评指正。 1.PX4 遥控器控制整…

JAVA-StringBuilder和StringBuffer

一、认识String类 1.认识 String在Java中是字符串类型,但与其他类型不同。它是一个类,可以创建对象的类。与int、char等自待类型有些许不同。但它仍然是java提供的一种类型。 类中有4个属性,这里主要认识一下value属性。它是实际存放字符串…

2024 IDEA软件 部署tomcat 十二步 运行web页面(html类似的)(中英文对照版本)新手小白易上手

目录 一、准备工作(三必备): 1、自己的web项目 2、idea软件(我是2023.1.2版本) 3、tomcat X.X版本 二 、正式开始步骤,不废话!! 1、 点击菜单栏中 “File”(文件&…

NASA数据集:ATLAS/ICESat-2 L3A 海洋地表高度 V006

ATLAS/ICESat-2 L3A Ocean Surface Height V006 目录 简介 摘要 代码 引用 网址推荐 0代码在线构建地图应用 机器学习 简介 该数据集(ATL12)包含全球开阔洋(包括无冰季节冰区和近海岸地区)的沿轨海面高度。 还提供了高度…

C++ 9.25

手动实现栈、和队列 stack #include <iostream> using namespace std; class Stack { private: int* arr; // 存储栈元素的数组 int top; // 栈顶索引 int capacity; // 栈的容量 public: Stack(int size) { arr new int[size]; c…

FLStudio21Mac版flstudio v21.2.1.3430简体中文版下载(含Win/Mac)

给大家介绍了许多FL21版本&#xff0c;今天给大家介绍一款FL Studio21Mac版本&#xff0c;如果是Mac电脑的朋友请千万不要错过&#xff0c;当然我也不会忽略掉Win系统的FL&#xff0c;链接我会放在文章&#xff0c;供大家下载与分享&#xff0c;如果有其他问题&#xff0c;欢迎…

基于Python大数据的音乐推荐及数据分析可视化系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

【吊打面试官系列-MySQL面试题】MySQL 数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL 数据库作发布系统的存储&#xff0c;一天五万条以上的增量&#xff0c;预计运维三年,怎么优化&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; MySQL 数据库作发布系统的存储&#xff0c;一天五万条以上的增量…

二模--解题--101-110

文章目录 10.沟通管理101、 [单选] 在项目执行阶段&#xff0c;项目经理意识到项目干系人一直延迟答复敏感性电子邮件。项目经理应该怎么做&#xff1f; 4.整合管理102、 [单选] 在编制项目章程用于批准时&#xff0c;项目经理发现有两名干系人对关键可交付成果的期望有冲突。若…

【读写分离?聊聊Mysql多数据源实现读写分离的几种方案】

文章目录 一.什么是MySQL 读写分离二.读写分离的几种实现方式(手动控制)1.基于Spring下的AbstractRoutingDataSource1.yml2.Controller3.Service实现4.Mapper层5.定义多数据源6.继承Spring的抽象路由数据源抽象类&#xff0c;重写相关逻辑7. 自定义注解WR&#xff0c;用于指定当…

Linux-TCP重传

问题描述&#xff1a; 应用系统进行切换&#xff0c;包含业务流量切换&#xff08;即TongWeb主备切换&#xff09;和MYSQL数据库主备切换。首先进行流量切换&#xff0c;然后进行数据库主备切换。切换后发现备机TongWeb上有两批次慢请求&#xff0c;第一批慢请求响应时间在133…

【探索智谱AI的CogVideoX:视频生成的新前沿】

2024年8月6日&#xff0c;智谱AI宣布其开源视频生成模型CogVideoX&#xff0c;激发了开发者的创造力和对新技术的期待。 一、CogVideoX模型概述 CogVideoX 是一款先进的视频生成工具&#xff0c;可基于最长 226 个 token 的提示生成视频&#xff0c;时长可达 6 秒&#xff0c;…

0基础学习PyTorch——时尚分类(Fashion MNIST)训练和推理

大纲 环境准备安装依赖下载训练集训练定义模型训练加载训练集定义损失函数和优化器训练模型保存模型完整文件 推理加载模型加载并预处理本地文件推理完整文件 代码地址参考资料 时尚分类是PyTorch官方文档中推荐的案例。本文将拆解这个案例&#xff0c;进行部署以及测试。 环境…

电路板上电子元件检测系统源码分享

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

SpringCloud源码:客户端分析(二)- 客户端源码分析

背景 我们继续分析EurekaClient的两个自动化配置类&#xff1a; 自动化配置类功能职责EurekaClientAutoConfiguration配置EurekaClient确保了Eureka客户端能够正确地&#xff1a;- 注册到Eureka服务端- 周期性地发送心跳信息来更新服务租约- 下线时通知Eureka服务端- 获取服务实…

TypeScript 设计模式之【建造者模式】

文章目录 **建造者模式**&#xff1a;打造你的梦想之屋建造者的秘密建造者有什么利与害&#xff1f;如何使用建造者搭建各种房子代码实现案例建造者模式的主要优点建造者模式的主要缺点建造者模式的适用场景总结 建造者模式&#xff1a;打造你的梦想之屋 假设你想要一栋完美的…