idea部署tomcat(偏小白向)

news2024/11/22 16:45:57

目录

一、环境部署

1.安装idea ultimate任意版本

2.java稳定的版本如:

3.apache-tomcat任意版本,需要考虑兼容性,大家可以百度一下

二、部署简单的javaweb环境

总结

1.第一个问题

2.第二个问题


一、环境部署

1.安装idea ultimate任意版本

Download IntelliJ IDEA – The Leading Java and Kotlin IDE

2.java稳定的版本如:

JDK 8.x

JDK 11.x

JDK 17.x

Java各个版本下载官网

Java Archive | Oracle

3.apache-tomcat任意版本,需要考虑兼容性,大家可以百度一下

注意:在9.0.1(Beta),8.5.23,8.0.47和7.0.82之前的所有Tomcat版本都包含所有操作系统上的潜在危险的远程执行代码(RCE)漏洞,CVE-2017-12617:远程代码执行漏洞

Apache Tomcat® - Welcome!

 这里我进行过复现,漏洞依旧还是存在的,exp也能从官网下载到

如果开发大家尽量避开这几个版本就好了


二、部署简单的javaweb环境

大家一定要用idea ultimate而不是idea community,idea community能部署,但是比较复杂,且不利于管理

安装完后,打开idea

新建一个项目

新建一个java enterprise的项目(有些高版本的是新建java EE的项目)

 

注意:这个时候把我们下载好的tomcat的包随便放在一个目录下面

 我这里是个压缩包,我们解压

记住这个目录

这样配置

站点根路径可以自己配置

 

应用服务器我这里就是apache-tomcat,这里留下一个问题,后面我会详细解释。

选中我们刚刚放tomcat的地方

点击ok就可以了 

 

记得配置这个,不然创建的模板会没有index.jsp

ok没有报错就配置成功了,我们直接点击next

我们这个版本的tomcat兼容的是jave EE8

选中后点击finish就可以了

 

 这样我们就创建了一个简单的java-web站点了。

我们这里需要war包

我们先创建一个Artifacts,Artifacts并不是一种包名,而是一些打包方式的集合,所以我们需要选择一个war包的打包方式,至于war包是什么,我这里也留下个问题,后面作解释。

得益于idea的强大功能,我们可以直接配置让他自动生成war包,我们直接点击这里的add Configurations

 这里选择tomcat,因为我们要部署到本地,所以选择local

然后idea会自动帮我们生成war包,这样我们就可以访问我们创建的这个简单的java web项目了

 

第一次idea会自动安装完依赖,并且帮我们部署这个站点 

注意看这里就是Artifacts的打包格式

 我们可以在file-->Project Structure-->Artifacts里面看我们创建好的war包和格式

这里以后部署其他站点也要配置这个地方

在这里可以看配置信息,包括url、站点目录和站点端口等

 

安装完依赖,并且部署完后,我们可以访问这个简单的java web站点


总结

一些问题的分析

1.第一个问题

这里应用服务器是apache-tomcat,那么这个是什么意思呢?

apache是一个中间件,也就是web站点的一个模块化的服务软件,我们可以通过调用他开放的接口去运行我们的web站点,可以通过进程的方式来运行不同的站点,中间件主要可以处理并发的问题。

tomcat就是对apache进行进一步开发,使其可以兼容java编写的站点,将java站点的进程部署在apache上,这样我们就可以更便捷的运行我们的java web站点,如果只用apache部署,那么我们得到的是一个静态的站点。

所以apache和tomcat他们之间的关系就相当于tomcat是依附apache上的一个软件,专门用来方便部署java站点,我们可以通过对tomcat的调用来间接的部署站点在apache中间件内。

2.第二个问题

war包是什么?

这里涉及到一个概念性的地方

jar包和war包在java中的含义

JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件,为 J2EE 应用程序创建的jar文件是 EAR 文件(企业 jar文件),jar文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,jar文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 jar中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 jar。

war包是一个Web应用程序!

一个web程序进行打包便于部署的压缩包,里面包含我们web程序需要的一些东西,其中包括web.xml的配置文件,前端的页面文件,以及依赖的jar。便于我们部署工程,直接放到tomcat的webapps目录下,直接启动tomcat即可。同时,可以使用WinRAR查看war包,直接将后缀.war改成.rar。

前面我们说了我们通过调用tomcat来简介调用apache部署站点

我们的站点配置文件就是这个

web.xml

通常在WEB-INF目录下含有一个web.xml文件

WEB-INF目录下还有个classes目录

而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类

上面说的这些war包内部打包后就会拥有这些基本的文件和目录,这样我们就可以通过编写这些配置文件来精确的部署我们的站点,这样我们就不需要对apache中间件进行编程了

其实这两个问题都是在讲apache和tomcat的概念,这些东西解决的问题就是我们部署站点不需要再对apache进行进一步开发,直接编写tomcat的配置文件就可以对apache进行间接的开发,从而按照我们的需求部署web站点


希望大家看到这里的人点个👍把!

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

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

相关文章

Debian 11安装mysql 5.7.41

Debian 11安装mysql 5.7.41 1、下载mysql安装包2、安装文档2.1、安装依赖包2.2、安装MySQL包2.2.1、预设值数据库参数2.2.2、安装MySQL包 2.3、文件安装位置 3、使用mysql 5.7.41 数据库3.1、命令行登录MySQL 5.7.41 数据库3.2、navicat连接mysql 5.7.41 数据库3.2.1、修改mysq…

UWB技术开发的定位系统源码,高精度人员定位系统源码,室内定位系统源码人员定位/车辆定位/物品定位/材料定位

UWB技术定位系统源码,高精度人员定位系统源码,智慧工厂人员定位系统源码,室内定位系统源码 技术架构:单体服务 硬件(UWB定位基站、卡牌) 开发语言:java 开发工具:idea 、VS Code…

操作系统:12 线程竞争与线程池

1 基本概念 ① 竞争与同步 同一个进程中的线程能够共享进程中的绝大多数资源,当他们随意竞争时可能会导致共享资源被破坏、脏数据、不完整、不一致等问题 通过一些方法让进程中的线程在竞争资源时相互协调,避免出现以上问题,这种手段就称为线…

5月11日作业

思维导图 作业: 作业1: 作业2: 作业3: 作业4: 作业5:

算法设计与分析:枚举和递推的运用

目录 第1关:双关系递推数列 任务描述 相关知识 枚举算法的两种框架 递推算法的实施步骤 问题求解思路 编程要求 测试说明 第1关:双关系递推数列 任务描述 本关任务:运用枚举和递推的基本思想,通过编程计算出双关系递推数…

grafana + influxdb + telegraf构建linux性能监控平台

为了更好的做性能测试过程中监控服务器资源,提供可视化效果,下面介绍一种监控方案: grafana influxdb telegraf , 构建linux性能监控平台 安装3个软件 1.Grafana安装 grafana , 访问各类数据源 , 自定义报表、显示图表等等 , 用于提供界…

微星 B360M MORTAR电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板微星 B360M MORTAR 处理器英特尔 Core i5-9400 2.90GHz 六核已驱动 内存8 GB ( 金士顿 DDR4 2666MHz 8GB )已驱动 硬盘西数 WDS250G3X0C-00SJG0…

mysql高级语句(2)

and or 最左原则 create view视图表:虚拟表或存储查询 没有表结构存储查询语句的结果表 临时表在用户退出或同数据库连接断开就会小时,而视图表不会(就像定义个全局变量)保存的是定义 格式:create view “视图表名…

内测开始了!0penAI GGPT 图片功能、联网功能、音频功能、多模型功能、微调功能

联合两位大佬一起对gpt官方的接口做了整合。 有感兴趣的可以一起开发交流,下文有部分代码讲解。感兴趣的可以加入一起测试玩耍(文末有加入方式)~ 模型介绍 内测内容包括文字生成图片、图片生成图片、联网模式、模型定制、多角色设定等。 1…

mongodb用户权限配置

1.副本集 1.1在主节点创建管理员账号 /etc/mongodb/mongosh-1.8.1-linux-x64/bin/mongosh --port 27017 use admin db.createUser({user:"用户名",pwd:"密码",roles:["root"]}) 只要在主节点创建用户即可,从节点会自动同步数据 …

Verilog语法之generate (for、 if、 case)用法

文章目录 前言一、宏定义二、generate 方法1. generate-if 方法1. generate-case方法 三、小知识(语法模板) 前言 对于同一功能多种不同实现方法的模块代码如何整合到一起呢?当然每种方法作为一个单独的模块使用一个.v 文件保存肯定是没有问…

MySQL 高级(进阶) SQL 语句二

一、表连接查询 MYSQL数据库中的三种连接: inner join(内连接):只返回两个表中联结字段相等的行(有交集的值)left join(左连接):返回包括左表中的所有记录和右表中联结字段相等的记录right join(右连接):…

区间合并(算法)

目录 题目代码实现注意点 题目 给定 n n n 个区间 [ l i , r i ] [l_i, r_i] [li​,ri​],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如: [ 1 , 3 ] [1,3] [1,3] 和 [ 2 , 6 ] [2,…

【利用AI让知识体系化】深入浅出HTTP(近2w字)

思维导图 文章目录 思维导图1. HTTP基础知识HTTP简介URI和URLHTTP的请求和响应 2. HTTP请求请求方法请求头请求体 3. HTTP响应响应状态码响应头响应体 4. Cookies和SessionCookies的原理和应用Session机制使用Cookies和Session进行用户认证 5. HTTP缓存缓存概述浏览器缓存服务器…

Tomcat源码:连接器与Executor、Connector

前文: 《Tomcat源码:启动类Bootstrap与Catalina的加载》 《Tomcat源码:容器的生命周期管理与事件监听》 《Tomcat源码:StandardServer与StandardService》 《Tomcat源码:Container接口》 《Tomcat源码&#xff1a…

NHWC和NCHW数据排布及转换(模型部署)

1.概念 首先这是两种批量图片的数据存储方式,定义了一批图片在计算机存储空间内的数据存储layout。N表示这批图片的数量,C表示每张图片所包含的通道数,H表示这批图片的像素高度,W表示这批图片的像素宽度。其中C表示的通道数可能有…

被热议的DataOps,到底是什么?

近几年,DevOps的火热程度日渐高涨,同时涌现出了各种Ops,包括DevSecOps、GitOps、AIOps、NoOps、DataOps、MLOps、FeatureOps、ModelOps、FinOps等等。其中,对于企业来说,确保数据以高效和合规的方式使用,Da…

git commit 设置 eslint + pretter 格式化校验

系统版本 node 版本: v14.17.5 npm 版本: 6.14.14 vue-cli 版本: vue/cli 4.5.19 目录 系统版本 1. 新建一个 vue2.X 空项目 2. 安装插件 eslint ,并初始化 eslint 配置,根目录生成 .eslintrc 配置文件 3. 测试 eslint 配置 4. 安装 husky、lint-staged 5. 在package.j…

【Linux从入门到精通】了解冯诺依曼体系结构

本片文章会对冯诺依曼体系结构进行详解。同时,我们对冯诺依曼的理解,不能停留在概念上,要深入到对软件数据流理解上。本片文章同时也会对数据在冯诺依曼结构上的交互进行讲解。希望本篇文章会对你有所所帮助。 文章目录 一、简单认识冯诺依曼…

牛客网面试必刷:BM17 二分查找-I

牛客网面试必刷&#xff1a;BM17 二分查找-I 前言一、什么是二分查找&#xff1f;二、二分查找具体代码1.第一种写法&#xff1a;left < right2.第二种写法&#xff1a;left < right 三、复杂度分析 前言 二分查找是一个常见、基础、难度较低问题&#xff0c;本文记录了…