IDEA配置tomcat并发布web项目的步骤

2023-11-10

目录

一、配置Tomcat具体步骤

1.创建一个项目

 2.新建一个模块

 3.添加框架支持

4.在IDEA 中部署工程到Tomcat 上运行

  5.运行web程序

 二、Tomcat服务器

1.Tomcat服务器介绍

2.Tomcat目录的介绍

三、Java Web应用程序运行原理


一、配置Tomcat具体步骤

1.创建一个项目

 

 

 2.新建一个模块

 

 

 

 

 3.添加框架支持

1)右击选第二个,把项目添加为Web项目

 2)(默认)选择Java EE 8

 3)勾选Web Application,默认Version选4.0,勾选Create web.xml(默认勾选),点击OK

4.在IDEA 中部署工程到Tomcat 上运行

 1) 点击右上角Add Configurations

2) 添加( + )tomcat   Local到Configurations,点击Apply再点OK

 3)点Deployment添加( + )选第一个,点击Apply再点OK

  5.运行web程序

1)点击运行按钮(绿色三角)

 2)点击后弹出以下页面,运行成功

3) 停止运行,点击红色方块

 二、Tomcat服务器

1.Tomcat服务器介绍

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

2.Tomcat目录的介绍

1)bin:该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat9.exe、tomcat9w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要JDK的配置,shutdawn.bat用来停止Tomcat;

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

  • server.xml: 配置整个服务器信息。例如修改端口号,添加虚拟主机等;
  • tomcatusers.xml: 存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了;
  • web.xml: 部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的;
  • context.xml: 对所有应用的统一配置,通常我们不会去配置它。

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

4)logs: 这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中;

5)LICENSE: 许可证;

6)NOTICE: 说明文件;

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

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

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

三、Java Web应用程序运行原理

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

IDEA配置tomcat并发布web项目的步骤 的相关文章

  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • Spring boot 2.0.5.RELEASE和mongo 4.0连接问题

    我正在关注使用 MongoDB 访问数据教程春季网站 https spring io guides gs accessing data mongodb 我将 Mongo DB 服务器版本 4 安装为服务当我使用客户端连接到它时 它的身份验证
  • Glassfish:在部署期间修改 EAR 的部署描述符

    经过几天的搜索 尝试和摇头 我将这个问题发布到 SO 尽管它seems已经得到答复 这是场景 我有一个 EAR 应用程序 目前 包含一个 WAR 和一个 EJB 模块 EJB 模块使用 JPA persistence xml 并且一些无状态
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • Java Spark DataFrameReader java.lang.NegativeArraySizeException

    学习 Spark for java 并尝试阅读 csv文件为DataFrame使用DataFrameReader 甚至不能得到一个超级简单的 csv文件工作 因为我不断收到异常java lang NegativeArraySizeExcep
  • 如何为 Intellij/PyCharm 设置 PYTHONSTARTUP 脚本

    我尝试添加PYTHONSTARTUP环境变量 我还尝试了自定义启动脚本 但更令人惊讶的是 这also没有工作 npa别名无法识别 出于一点绝望 我什至尝试添加到interpreter options 那什么也没做 实际上是什么Interpr
  • HTTP KeepAlive 连接已被服务器关闭,但客户端同时发送了请求

    场景如下 有一个 http 反向代理 它有一个与应用程序服务器的持久连接池 它已收到客户端的请求 并在检查连接打开后向后端发出相同的请求 同时 服务器在收到请求之前关闭连接 代理失败 从后端读取错误 错误被发送到客户端 应如何处理这种竞争条
  • 如何为java注释处理器编写自动化单元测试?

    我正在尝试使用 java 注释处理器 我可以使用 JavaCompiler 编写集成测试 事实上我现在正在使用 hickory 我可以运行编译过程并分析输出 问题 即使我的注释处理器中没有任何代码 单个测试也会运行大约半秒 对于以 TDD
  • EL 通过 Scriptlet

    在 JSP 中使用 EL 相对于 scriptlet 的优势是什么 EL 被认为是无脚本语言 EL 使 JSP 免受容易出错原始 Java 代码并强制您根据 MVC 思想编写 JSP EL 或像 JSTL 这样的标签库 不可能实现的任何事情
  • 从字符串生成密钥?

    我需要从字符串生成一个密钥 以便我始终可以从同一字符串创建相同的密钥 具体来说是一个Key对象 这样我就可以用它来创建Cipher进而创建SealedObject 这在 Java 中可行吗 我应该考虑什么类 方法组合才能做到这一点 对于 A
  • 使用 Hibernate Dialect 设置表字符集/排序规则?

    我使用 Hibernate MySQLInnoDB Dialect 来生成 DDL hibernate cfg xml
  • Java 中的 MP4 容器编写器

    我想找到一个免费的 Java MP4 容器 编写器 我不需要编码器 只需要能够根据预期值写入正确原子的编码器 Bonus对于这样一个库 也可以编写 有效 F4V 我更喜欢纯 Java 解决方案 而不是使用 JNI 或外部可执行文件的解决方案
  • 如何在Java中打印保留2位小数的浮点数?

    我可以用System out print 您可以使用printf http java sun com j2se 1 5 0 docs api java io PrintStream html printf 28java lang Strin
  • 在 Java 中创建带注释的对象时收到通知

    Intent 我有一个自定义 Java 注释 DynamicField public class RESTEndpointInvoker DynamicField key httpTimeout private long httpTimeo
  • 无法自动装配 org.springframework.mail.javamail.JavaMailSender

    尝试运行我的应用程序时遇到以下问题 所有的东西都调试过了 还是一无所获 IDE 毫无问题地找到了 bean 所以我对这里发生的情况感到非常困惑 SEVERE Exception sending context initialized eve
  • selenium webdriver 中的多个程序执行不起作用

    Selenium WebDriver 中的多个程序执行不起作用 我编写了 1 个 testNG xml 文件和 2 个 java 类 我尝试从 xml 文件运行这两个 java 类 但这不起作用 XML代码
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • Java字符串查找和替换的最佳方法?

    我正在寻找 Java 中字符串查找和替换的最佳方法 这是一句话 我的名字叫米兰 人们都知道我叫米兰瓦西奇 我想用 Milan Vasic 替换 Milan 弦 但在我已经有 Milan Vasic 的地方 情况不应该是这样 搜索 替换后的结
  • Struts2中的变量声明

    Struts2中如何声明变量并为该变量赋值 使用设置标签
  • 在没有EOF的情况下停止读取java中的输入

    In 问题 如何停止读取输入 我的程序继续运行 要求更多输入 public static void main String args throws Exception BufferedReader br new BufferedReader

随机推荐

  • C语言与C++,C#究竟是什么关系?

    简单来说 C 就像是C语言的亲弟弟 而C 就是他们二者的远房亲戚 其实它更像是Java的表兄弟 小编c 学习群825414254获取c 一整套系统性的学习资料还有数十套pdf这三门语言都是十分优秀的编程语言 也都有很高的运行效率 这三种编程
  • Gradle是个啥东东?

    如何通俗地理解 Gradle 我以前一直用 Eclipse with ADT 来开发Android 项目 而且对它的基础的原理掌握不深 直接上手开发的 没有去考虑太多的东西 现在手头上有一个新的项目要使用到Android Studio 我早
  • SQL编程:外键约束

    外键 foreign key 一个表中的foreign key指向另一个表中的unique key 唯一约束的键 对于两个具有关联关系的表而言 相关联字段中主键所在的表就是主表 外键所在的表就是从表 子表 外键约束 foreign key约
  • SpringCloud gateway+zookeeper实现网关路由

    准备工作 需要两个项目去实现路由 demo1为springboot项目用于接入网关 测试网关连通性 gateway为网关路由项目 网关搭建 1 电脑安装好zookeeper 并且正常运行服务 Zookeeper官网 2 创建一个spring
  • python3 100示例学习

    http www runoob com python python 100 examples html
  • CSS属性之渐变属性(gradient)

    渐变分为线性渐变和径向渐变 所谓渐变就是几种颜色之间的平稳过渡 线性渐变 线性渐变 linear gradient 实现线性渐变 你至少需要定义两种颜色的结点 这两种结点就是你想平稳过渡的颜色 即 其中一种颜色结点为起点 另一种颜色结点为结
  • 论文阅读—基于目标偏置的双向APF-RRT*算法的无人机轨迹规划

    基于目标偏置的双向APF RRT 算法的无人机轨迹规划 算法 APF选择最好的父节点 双向搜索树 主要提升策略 实验分析 J Fan X Chen and X Liang UAV trajectory planning based on b
  • 40核至强服务器性能如何,Intel 10nm 14核心至强曝光:同频性能暴涨54%

    日前我们曾经从GeekBench测试数据库里见到一颗疑似Intel 10nm Ice Lake SP服务器平台的6核心型号 外媒称对比现有14nm产品 多线程性能提升多达118 颇为不可思议 但真实性也有待检验 现在 SiSoftware数
  • 期刊分区常识

    作为一个科研工作者 了解期刊论文的一些基本常识是大有裨益的 这对于我们深入了解所从事领域的研究 和论文的写作与发表等都会有很大的帮助 比如对于期刊分区的问题 从事科研的人都听过 但是也许你并没有深入了解其概念和意义 尤其对于刚刚步入科研领域
  • 用docker 创建centos7 ,无法使用systemctl解决方法

    docker run privileged it d name centos odoo centos centos7 9 2009 usr sbin init 1 privileged it d 一定要加 2 name 后面是容器名称和使用
  • 一句话征服了美国人,这位饱受争议的数学博士竟从未上过学?

    全世界只有3 14 的人关注了 青少年数学之旅 前两天 有位不愿意透露姓名的模友问了超模君一个问题 虽然这个问题超模君已经解答过无数遍了 但看到模友如此虔诚的态度 超模君决定今天再给模友们讲一个犹太小伙用数学征服美国军官的故事 偌大维也纳
  • qt的visible hide 等布局隐藏函数

    https blog csdn net dbzhang800 article details 6300021
  • xpath手册

    XPath手册 源于ZVON AAA AAA CCC AAA DDD BBB BBB DDD BBB AAA CCC DDD BBB AAA BBB 1 AAA BBB last id BBB id BBB name BBB BBB not
  • 手机驱动工程师门,准备转行了吗

    前80后从事手机研发的年轻人目前已经人到中年后了 时间过得真的很快 从2004左右开始红火的山寨手机 已经耗去了你们青春 你们中的不少人也从中过得不错的收益 但随着iPhone的出现 智能手机视乎在一瞬间就冒了出来 大佬Nokia都没有缓过
  • 交换机与路由器技术-05-路由器工作原理

    目录 一 路由器的工作原理 1 1 回顾交换机的工作原理 1 2 回顾路由器相关知识 1 3 网络层IP数据包格式 二 路由器工作原理 2 1 路由 2 2 路由器工作模式 2 3 路由表 2 4 静态路由 2 5 动态路由 2 6 分层次
  • 独占指针 std::unique_ptr

    学习智能指针之前需要知道的 智能指针是原始指针的封装 在头文件
  • Unity延迟,协程

    Unity 学习笔记 主要记录一些重要以及易错的知识点 笔记目录 Unity 学习笔记 1 unity延时方法Invoke和InvokeRepeating 1 Unity Time类 2 Invoke 延迟后调用一次 3 InvokeRep
  • 关于看病报销额度

    1 社保医保 职工医保 统筹账户 在住院时可以报销大额医疗费用 个人账户 可以用来看门诊 药店刷卡买药等 城乡居民医保是没有个人账户的 所以不能用来刷卡买药等 只能用作报销 医保卡门诊每年报销400可以买药用的 参保居民在门诊统筹定点医疗机
  • wps如何自己制作流程图_怎么制作流程图,wps自动生成流程图方法

    在职场中我们要会熟练使用各种办公软件 才能提高我们的工作效率 下面我为大家分享三种制作流程图的方法 非常简单哦 一 在Word中制作流程图 1 首先点击 插入 再点击 形状 点击新建绘图画布 就出来画布了 2 再点击 插入 形状 会出现流程
  • IDEA配置tomcat并发布web项目的步骤

    目录 一 配置Tomcat具体步骤 1 创建一个项目 2 新建一个模块 3 添加框架支持 4 在IDEA 中部署工程到Tomcat 上运行 5 运行web程序 二 Tomcat服务器 1 Tomcat服务器介绍 2 Tomcat目录的介绍