idea部署tomcat(偏小白向)

2023-05-16

目录

一、环境部署

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站点


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea部署tomcat(偏小白向) 的相关文章

  • Spring Security 出现 'login.html?error' is not a valid redirect URL 异常

    原因是这个URL地址要以 打头 例如 xff1a 报错的代码 xff1a http span class token punctuation span span class token function formLogin span spa
  • 5. Python3的基本类型(元组)

    Python3的基本类型 xff08 元组 xff09 1 Python 的元组与列表相似 xff0c 不同之处 xff1a 元组不能修改 xff0c 元组使用小括号 xff0c 列表使用方括号 2 元组的创建 xff1a 只需要在括号中添
  • group by内部排序

    规则 xff1a 第一 xff0c 凡是在group by后面出现的字段 xff0c 必须同时在select后面出现 xff1b 第二 xff0c 凡是在select后面出现的 同时未在聚合函数中出现的字段 xff0c 必须同时出现在gro
  • 李宏毅机器学习(四)Spatial Transformer Layer

    学习内容 架构 xff1b 目的就是克服CNN的旋转和缩放不变性的缺点的 xff01 前情提要 CNN is not invariant to scaling and rotation xff1b CNN对缩放和旋转不是不变的 xff1b
  • python修改pip安装镜像源

    pip 默认的安装源安装真的很慢 xff0c 所以我们可以换成国内的一些优质的安装源 通用临时方法 pip install package name i https pypi tuna tsinghua edu cn simple 永久修改
  • 深入理解 Java 线程池的实现原理

    文章目录 1 线程状态2 线程池2 1 线程池的作用2 2 线程池的实现2 2 1 线程池内部状态 1 线程状态 既然要说线程 xff0c 我们就先来了解一下线程的几种状态 xff1a span class token keyword pu
  • windows server安装域控及原理(小白向)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 安装环境一 安装域控二 说明一下遗留的问题总结 这个是一系列的博客文章 xff0c 域控只是开始 安装环境 windwos任意s
  • 详述 Redis 选择单线程模型的原因以及 I/O 多路复用

    文章目录 Redis 选择单线程模型的原因概述设计单线程模型可维护性并发处理性能瓶颈 引入多线程删除操作 总结 Redis 和 IO 多路复用几种 I O 模型Blocking I OI O 多路复用 Reactor 设计模式I O 多路复
  • 新一代垃圾回收器 ZGC 的探索与实践

    文章目录 GC之痛CMS 与 G1 停顿时间瓶颈标记阶段停顿分析清理阶段停顿分析复制阶段停顿分析 ZGC原理全并发的 ZGCZGC 关键技术ZGC 并发处理演示 ZGC 调优实践调优基础知识理解 ZGC 重要配置参数理解 ZGC 触发时机理
  • 详述 Spring 中 Bean 的作用域、事务的隔离级别以及传播行为

    文章目录 Bean 作用域XML 声明singletonprototyperequestsessionglobalSession 注解声明 事务隔离级别事务传播行为 Bean 作用域 Spring IOC 容器创建一个 Bean 实例时 x
  • 饿了么交易系统 5 年演化史

    作者介绍 xff1a 杨凡 xff0c 花名挽晴 xff0c 饿了么高级架构师 xff0c 2014 年加入饿了么 xff0c 2018 年随饿了么被阿里巴巴收购一同加入阿里巴巴 xff0c 4 年团队管理经验 xff0c 4 年主要从事饿
  • 带你了解「美团、百度和滴滴」的分布式 ID 生成系统

    文章目录 美团背景常见方法介绍UUID类snowflake方案数据库生成 Leaf 方案实现Leaf segment 数据库方案双 buffer 优化Leaf 高可用容灾 Leaf snowflake 方案弱依赖 ZooKeeper解决时钟
  • Spring Cloud 优雅下线以及灰度发布

    文章目录 前言优雅下线常见的下线方式优雅的下线方式 灰度发布蓝绿部署滚动部署金丝雀部署 前言 在生产环境中 xff0c 如何保证在服务升级的时候 xff0c 不影响用户的体验 xff0c 这个是一个非常重要的问题 如果在我们升级服务的时候
  • 详述 IntelliJ IDEA 遇到 Maven 项目 pom.xml 文件没有识别的解决方法

    文章目录 问题现象解决方法 问题现象 有的时候 xff0c 我们可能会遇到 IDEA 没有识别 Maven 项目pom xml的问题 xff0c 其表现出来的现象就是 xff1a 究其原因 xff0c 就是 IDEA 把pom xml文件当
  • Spring Boot 自定义 Swagger2 请求 URL 路径的两种方法

    文章目录 前言方法一 xff1a 修改应用根路径方法二 xff1a 引入 Swagger2 前端代码总结 前言 首先 xff0c 把 Swagger2 的依赖引进来 xff1a span class token comment lt swa
  • 使用 Apollo 为静态变量赋值的方法

    Apollo xff08 阿波罗 xff09 是携程框架部门研发的分布式配置中心 xff0c 能够集中化管理应用不同环境 不同集群的配置 xff0c 配置修改后能够实时推送到应用端 xff0c 并且具备规范的权限 流程治理等特性 xff0c
  • 记一次 Gorm 批量插入遇到的问题以及解决方案

    文章目录 问题现象解决方案 问题现象 最初 xff0c 我们用的是老版本的 Gorm xff0c 但是因为老版本不支持批量插入的功能 xff0c 所以我们将 Gorm 做了升级 xff0c 升级到1 21 9版本 https github
  • 3-Raven2百个靶机渗透(精写-思路为主)

    特别注明 xff1a 本文章只用于学习交流 xff0c 不可用来从事违法犯罪活动 xff0c 如使用者用来从事违法犯罪行为 xff0c 一切与作者无关 文章目录 前言一 信息收集二 ssh爆破尝试三 根据框架exp和cve拿shell四 对
  • 在 MacOS 系统的 /home 目录下创建文件夹的方法

    文章目录 前言修改 auto master加载 auto master创建自定义文件夹 前言 Rt xff0c 本文讲述如何在 Mac OS 系统中 xff0c 在 home目录下创建文件夹的方法 之所以会有本篇文章 xff0c 是因为在默
  • 在 MacOS 系统下创建 /home 目录的方法

    文章目录 前言SIP关闭SIP打开SIP查看 SIP 当前状态 创建 home 目录 前言 在 在 MacOS 系统的 home 目录下创建文件夹的方法 这篇文章中 xff0c 我们描述了如何在 home目录下创建文件夹的方法 xff0c

随机推荐