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

【java web篇】Tomcat的基本使用

📋 个人简介

  • 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜
  • 📝 个人主页:馆主阿牛🔥
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:java 小白到高手的蜕变🍁
  • 💬格言:要成为光,因为有怕黑的人!🔥
    请添加图片描述

目录

    • 📋 个人简介
  • 前言
    • Tomcat 介绍
    • Tomcat 的基本使用
    • Tomcat 配置和部署项目
      • Tomcat 配置80端口
      • Tomcat 部署项目
    • IDEA中创建Maven Web项目
    • IDEA中使用Tomcat
  • 结语

前言

Tomcat是一个轻量的web服务器,支持Servlet/JSP少量JavaEE规范,本篇就来快速学习一下他的简单使用!

Tomcat 介绍

  • 概念: Tomcat 是 Apache 软件基金会一个核心项目,是一个开源免费的轻量级 Web 服务器,支持 Serviet / JSP 少量 JavaEE 规范。
  • JavaEE : Java Enterprise Edition ,Java 企业版。指 Java 企业级开发的技术规范总和。包含13项技术规范: JDBC 、 JNDI 、 EJB 、 RMI 、 JSP 、 Servlet 、 XML 、 JMS 、 Java IDL 、 JTS 、 JTA 、 JavaMail 、 JAF
  • Tomcat 也被称为 Web 容器、 Servlet 容器。 Servlet 需要依赖于 Tomcat 才能运行。

Tomcat 的基本使用

首先去官网下载Tomcat:
https://tomcat.apache.org/

在这里插入图片描述
这就是官网提供的Tomcat与JDK对应的版本,这里你们自己选择,我就下载Tomcat10了!
在这里插入图片描述
点击下载就好了!下载完成后解压即可使用!
请添加图片描述
这就是Tomcat的目录结构!

然后单击bin目录下的startup.bat即可启动Tomcat,浏览器访问本地80端口就可以看到信息啦!
在这里插入图片描述
如果启动出现黑窗口一闪而过无法启动Tomcat以及启动后控制台乱码情况,请看:https://guanzhu-aniu.blog.csdn.net/article/details/129332928

Tomcat 配置和部署项目

Tomcat 配置80端口

在conf/server.xml中可以修改启动端口号:
这里改为80端口,因为HTTP协议默认端口号是80,改为80,将来访问Tomcat时就不用在浏览器输入栏输入端口号了!
在这里插入图片描述

Tomcat 部署项目

将项目放到webapps目录下,即可部署完成!
我在项目里放了一个hello文件夹,里面有个hello.html文件,我们启动Tomcat访问一下这个文件:
http://localhost/hello/hello.html
在这里插入图片描述
访问成功!
一般我们会将java项目打包成一个war包,放到webapps目录下后Tomcat会自动解压缩!

IDEA中创建Maven Web项目

请添加图片描述

1.使用骨架(建议用这种,快且方便)

请添加图片描述

在IDEA中新建一个模块,使用骨架,如下图:

在这里插入图片描述
完成后就会产生一个如下图的目录:
在这里插入图片描述

当然,与Maven项目目录结构相比,src下的main目录下还缺失两个目录,自己补齐就行。

2.不使用骨架
不勾选使用骨架按钮,直接创建,然后补齐webapp目录及其子目录
请添加图片描述

IDEA中使用Tomcat

1.集成本地的Tomcat
可以将前面下载的Tomcat集成到IDEA中
社区版idea需要先下载Tomcat插件,然后进行添加配置,和专业版IDEA不同,这里我不再总结。我主要总结在Maven中使用Tomcat的插件!

2.Tomcat Maven插件
在pom.xml中添加:

<plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version>
</plugin>

在这里插入图片描述

这个从tomcat官网看,这个插件版本很久没更新了,还是tomcat7!
这个插件需要依赖Maven Helper这个插件,可以自己去安装!
在这里插入图片描述

在这里插入图片描述
可以看到启动成功,然后就可以访问资源了!

在这里插入图片描述

当然,这个插件也是可以配置访问端口号和访问路径的!
请添加图片描述

结语

如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门

相关文章:

【java web篇】Tomcat的基本使用

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…...

MySQL实战解析底层---行锁功过:怎么减少行锁对性能的影响

目录 前言 从两阶段锁说起 死锁和死锁检测 前言 MySQL 的行锁是在引擎层由各个引擎自己实现的但并不是所有的引擎都支持行锁&#xff0c;比如MyISAM 引擎就不支持行锁不支持行锁意味着并发控制只能使用表锁&#xff0c;对于这种引擎的表&#xff0c;同一张表上任何时刻只能有…...

初识STM32单片机

目录 初识STM32单片机 什么是单片机&#xff1f; STM系列单片机命名规则 STM32F103C8T6单片机简介 标准库与HAL库区别 通用输入输出端口GPIO 什么是GPIO&#xff1f; 定义 命名规则 内部框架图 推挽输出与开漏输出 如何点亮一颗LED灯 编程实现点灯 按键点亮LED灯…...

数据结构与算法系列之单链表

&#x1f497; &#x1f497; 博客:小怡同学 &#x1f497; &#x1f497; 个人简介:编程小萌新 &#x1f497; &#x1f497; 如果博客对大家有用的话&#xff0c;请点赞关注再收藏 &#x1f31e; 这里写目录标题test.hSList.h注意事项一级指针与二级指针的使用assert的使用空…...

MySQL基础

本单元目标 ​ 一、为什么要学习数据库 ​ 二、数据库的相关概念 ​ DBMS、DB、SQL ​ 三、数据库存储数据的特点 ​ 四、初始MySQL ​ MySQL产品的介绍 ​ MySQL产品的安装 ★ ​ MySQL服务的启动和停止 ★ ​ MySQL服务的登录和退出 ★ ​ MySQL的常见命令和语法规范 ​ 五、…...

面试热点题:环形链表及环形链表寻找环入口结点问题

环形链表 问题&#xff1a; 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接…...

【算法】DFS与BFS

作者&#xff1a;指针不指南吗 专栏&#xff1a;算法篇 &#x1f43e;题目的模拟很重要&#xff01;&#xff01;&#x1f43e; 文章目录1.区别2.DFS2.1 排列数字2.2 n-皇后问题3.BFS3.1走迷宫1.区别 搜索类型数据结构空间用途过程DFSstackO( n )不能用于最短路搜索到最深处&a…...

湖州银行冲刺A股上市:计划募资约24亿元,资产质量水平较高

3月4日&#xff0c;湖州银行股份有限公司&#xff08;下称“湖州银行”&#xff09;递交招股书&#xff0c;准备在上海证券交易所主板上市。本次冲刺上市&#xff0c;湖州银行计划募资23.98亿元&#xff0c;将在扣除发行费用后全部用于补充该行资本金。 湖州银行在招股书中表示…...

高性能网络I/O框架-netmap源码分析

前几天听一个朋友提到这个netmap&#xff0c;看了它的介绍和设计&#xff0c;确实是个好东西。其设计思想与业界不谋而合——因为为了提高性能&#xff0c;几个性能瓶颈放在那里&#xff0c;解决方法自然也是类似的。 netmap的出现&#xff0c;它既实现了一个高性能的网络I/O框…...

SpringBoot监听机制-以及使用

11-SpringBoot事件监听 Java中的事件监听机制定义了以下几个角色&#xff1a; ①事件&#xff1a;Event&#xff0c;继承 java.util.EventObject 类的对象 ②事件源&#xff1a;Source &#xff0c;任意对象Object ③监听器&#xff1a;Listener&#xff0c;实现 java.util…...

若依学习——定时任务代码逻辑 详细梳理(springboot整合Quartz)

springboot整合Quartz关于若依定时任务的使用可以去看视频默认定时任务的使用关于springboot整合quartz的整合参考(150条消息) 定时任务框架Quartz-(一)Quartz入门与Demo搭建_quarzt_是Guava不是瓜娃的博客-CSDN博客(150条消息) SpringBoot整合Quartz_springboot quartz_桐花思…...

C++---最长上升子序列模型---拦截导弹(每日一道算法2023.3.4)

注意事项&#xff1a; 本题为"线性dp—最长上升子序列的长度"的扩展题&#xff0c;这里只讲贪心思路&#xff0c;dp去这个看。 题目&#xff1a; 某国为了防御敌国的导弹袭击&#xff0c;发展出一种导弹拦截系统。 但是这种导弹拦截系统有一个缺陷&#xff1a;虽然它…...

【机器学习面试】百面机器学习笔记和问题总结+扩展面试题

第1章 特征工程 1、为什么需要对数值类型的特征做归一化&#xff1f; &#xff08;1&#xff09;消除量纲&#xff0c;将所有特征统一到一个大致相同的区间范围&#xff0c;使不同指标之间具由可比性&#xff1b; &#xff08;2&#xff09;可以加快梯度下降收敛的速度&#…...

【2021.12.28】ctf逆向中的迷宫问题(含exe及wp)

【2021.12.28】ctf逆向中的迷宫问题&#xff08;含exe及wp&#xff09; 文章目录【2021.12.28】ctf逆向中的迷宫问题&#xff08;含exe及wp&#xff09;1、迷宫简介&#xff08;1&#xff09;简单例子&#xff08;2&#xff09;一般的迷宫代码2、二维迷宫&#xff08;1&#xf…...

WSL2使用Nvidia-Docker实现深度学习环境自由部署

1. Win11 显卡驱动的安装 注意&#xff1a;WSL2中是不需要且不能安装任何显卡驱动的&#xff0c;它的显卡驱动完全依赖于 Win11 中的显卡驱动&#xff0c;因此我们只需要安装你显卡对应的 Win11 版本显卡驱动版本&#xff08;必须是 Win11 版本的驱动&#xff09;&#xff0c;…...

SpringBoot入门 - 配置热部署devtools工具

在SpringBoot开发调试中&#xff0c;如果我每行代码的修改都需要重启启动再调试&#xff0c;可能比较费时间&#xff1b;SpringBoot团队针对此问题提供了spring-boot-devtools&#xff08;简称devtools&#xff09;插件&#xff0c;它试图提升开发调试的效率。准备知识点什么是…...

CANFDNET-200U-UDP配置与数据收发控制

一、启动ZCANPRP,打开设备管理页面&#xff0c;选择类型CANFDNET-200U-UDP,如图1 图1 二、打开设备&#xff0c;启动&#xff0c;在相应页面如图2&#xff0c;配置协议&#xff0c;CANFD 加速&#xff0c;本地端口&#xff0c;IP地址&#xff0c;工作端口。 图2 三、发送相应数…...

嵌入式中backtrace的使用

大家好&#xff0c;我是bug菌&#xff5e; backtrace主要用于调试程序时&#xff0c;能够打印出程序在运行过程中的函数调用栈&#xff0c;以帮助开发者快速定位程序出现异常或崩溃的原因。 通过backtrace的输出&#xff0c;开发者可以了解程序在哪个函数出现问题&#xff0c…...

CV学习笔记-Faster-RCNN

Faster R-CNN 文章目录Faster R-CNN1. 目标检测算法1.1 计算机视觉有五大应用1.2 目标检测任务1.3 目标检测算法概述2. 边框回归&#xff08;Bounding-Box regression&#xff09;2.1 IoU2.2 统计学中的指标2.3 边框回归3. Faster-RCNN网络3.1 Conv layers3.2 Region Proposal …...

大型三甲医院云HIS系统源码 强大的电子病历+完整文档

医院HIS系统源码云HIS系统&#xff1a;SaaS运维平台多医院入驻强大的电子病历完整文档 有源码&#xff0c;有演示 一、系统概述 采用主流成熟技术&#xff0c;软件结构简洁、代码规范易阅读&#xff0c;SaaS应用&#xff0c;全浏览器访问前后端分离&#xff0c;多服务协同&am…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils&#xff1a; ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类&#xff0c;封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz&#xff0c;先构建任务的 JobD…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...