板块零 IDEA编译器基础:第三节 下载和在IDEA中集成 Tomcat服务器 来自【汤米尼克的JAVAEE全套教程专栏】

板块零 IDEA编译器基础:第三节 下载和在IDEA中集成 Tomcat服务器

  • 一、为什么选择Tomcat
    • (1)常见的JAVA WEB服务器
    • (2)选择Tomcat的理由
  • 二、Tomcat 8.5下载解压
  • 三、Tomcat 结构目录
  • 四、在IDEA中集成Tomcat

假设我们已经按照上一节的内容实现了在IDEA中创建一个JAVA WEB项目,并做好了IDEA的基础设置的工作,这一节中我们将使用Tomcat服务器集成到IDEA中,真正将JAVA WEB项目与服务器连接起来, 并且投射在浏览器上

一、为什么选择Tomcat

Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问,Tomcat是一个符合JavaEE WEB标准的最小的WEB容器,所有的JSP程序一定要有WEB容器的支持才能运行,而且在给定的WEB容器里面都会支持事务处理操作

(1)常见的JAVA WEB服务器

一般可以将WEB服务器划分为三类:

  • Web应用服务器(又叫Web容器)主要部署动态Web应用并提供Web服务;
  • Web服务器(或者Http服务器)主要提供静态Web资源的访问;
  • 代理服务器,一般部署在Web应用服务器或者Web服务器前面提供Web资源缓存及代理功能

常见的WEB应用服务器及其特点

  • Tomcat 服务器
    目前非常流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选,我们通常称Apache为Apache httpd,而Tomcat是Apache的扩展。
  • Resin 服务器
    Resin是Caucho公司的产品,是一个非常流行的支持Servlet和JSP的服务器,速度非常快。Resin本身包含了一个支持HTML的Web服务器,这使它不仅可以显示动态内容,而且显示静态内容的能力也毫不逊色,因此许多网站都是使用Resin服务器构建
  • JBoss服务器
    JBoss是一个种遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它可以和Tomcat完美结合
  • WebSphere 服务器
    WebSphere是IBM公司的产品,可进一步细分为 WebSphere Performance Pack、Cache Manager 和WebSphere Application Server等系列,其中WebSphere Application Server 是基于Java 的应用环境,可以运行于 Sun Solaris、Windows NT 等多种操作系统平台,用于建立、部署和管理Internet和Intranet Web应用程序
  • WebLogic 服务器
    WebLogic 是BEA公司的产品(现在已经被Oracle收购),可进一步细分为 WebLogic Server、WebLogic Enterprise 和 WebLogic Portal 等系列,其中 WebLogic Server 的功能特别强大。WebLogic 支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好。对于那些正在寻求能够提供Java平台所拥有的一切应用服务器的用户来说,WebLogic是一个十分理想的选择

(2)选择Tomcat的理由

  • 免费、开源,Apache基金会提供支持,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选
  • JavaWeb需要运行在Web应用服务器上才能提供服务;
  • 使用简单,资料文档丰富,能更快上手;
  • 支持最新的Servlet和Jsp规范;
  • 版本更新快,目前(2024.2.6)已经更新到Tomcat 11;
  • 跨平台,可以运行在Windows、Linux等各种操作系统上;
  • 支持负载均衡,可以与Apache、Nginx、Varnish等配合实现高性能Web服务。

二、Tomcat 8.5下载解压

下载Tomcat 8.5,访问Apche Tomcat 8 的下载官网
在这里插入图片描述
同样,WIN+R cmd中输入systeminfo查看系统是32位还是64位就可以下载了
在这里插入图片描述
下载完成后解压
在这里插入图片描述
解压后打开文件->bin,找到 startup.bat Windows批处理文件
在这里插入图片描述
双击运行
在这里插入图片描述

弹窗的这样就说明Tomcat成功使用了,若不成功,检查JAVA在系统的环境变量中是否成功配置,因为运行Tomcat 需要JDK的支持【Tomcat会通过JAVA_HOME找到所需要的JDK】
在这里插入图片描述
启动Tomcat的同时,在浏览器中访问http://localhost:8080/
有页面
在这里插入图片描述
则算安装成功,其中Examples中还有一些有趣的示例供我们了解Servlet和Tomcat的使用
在这里插入图片描述

三、Tomcat 结构目录

在去IDEA搭建Tomcat之前,我们还需要回头再学习一下Tomcat的组成
在这里插入图片描述

  • bin:该目录下存放的是二进制可执行文件,解压版中会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat

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

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

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

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

  • webapps:存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目

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

四、在IDEA中集成Tomcat

打开项目,在文件选择菜单中找到编辑配置
在这里插入图片描述
添加新配置中选择本地Tomcat
在这里插入图片描述
添加好后点击Tomcat服务器->服务器->配置->点击加号->填写Tomcat主目录和根目录
注意两个目录都是选择到刚刚解压的Tomcat目录的bin上面的那个文件夹
在这里插入图片描述
现在可以更改此Tomcat的名称以显示在运行窗口,可以选择启动服务器后默认是否打开浏览器,以及打勾选择哪几个浏览器会出现在IDEA右上角使服务器启动后快捷打开当前网页在这里插入图片描述在这里插入图片描述
此外,还可以设置URL,就是在浏览器中看见的地址,
以及项目使用的JRE,如果不更改既是当前系统环境变量中的JAVA
以及四种默认端口,但不建议改在这里插入图片描述
接下来只差最后一步了,还是在编辑配置中找到部署,点击+添加工件,后应用->确定,既完成
在这里插入图片描述

如果没有在部署的+中找到工件,那请不要紧张
在这里插入图片描述
没有工件我们就创造工件!文件->项目结构
在这里插入图片描述
先检查一下项目中的模块下有没有Web模块了,有了的话就点击右下角的创建工件
在这里插入图片描述
在这里插入图片描述
之后会弹出一个窗口
在这里插入图片描述
一直点确定、应用就创造工件完成了,现在再去部署里添加工件就可以了。

部署完成后在服务器运行时
在前端文件 hello.jsp 中

<%--Created by IntelliJ IDEA.User: ToomyNike
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html><head><title>hello</title></head><body><h1>Tomcat with IDEA</h1></body>
</html>

右上角点击快捷浏览器
在这里插入图片描述
即可得到
在这里插入图片描述
综上,我们在这一节中学习了Tomcat的理论知识,从0到1实现了 Tomcat集成到IDEA中,终于完成了所有IDEA编译器的基础工作,在下一板块中我们将开始Servlet的学习

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

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

相关文章

23.HarmonyOS App(JAVA)堆叠布局StackLayout使用方法

不常用 StackLayout直接在屏幕上开辟出一块空白的区域&#xff0c;添加到这个布局中的视图都是以层叠的方式显示&#xff0c;而它会把这些视图默认放到这块区域的左上角&#xff0c;第一个添加到布局中的视图显示在最底层&#xff0c;最后一个被放在最顶层。上一层的视图会覆盖…

过年回家必备,向日葵远程控制帮您假期轻松“应急”

春节假期临近&#xff0c;无论是回家过年还是假期出游&#xff0c;我们都可能遇到突然的“业务”需要临时处理&#xff0c;可是电脑没在身边又怎么办呢&#xff1f;别慌&#xff0c;我们可以用向日葵远程控制。 通过使用向日葵远程控制&#xff0c;手机就能远程控制办公电脑&a…

微信小程序(三十六)事件传参

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.传参步骤 2.传参接收解构步骤 源码&#xff1a; index.wxml <button type"primary" bind:tap"onclick" mark:index"{{0}}" mark:remb"{{1}}" class"But&quo…

DataX详解和架构介绍

系列文章目录 一、 DataX详解和架构介绍 二、 DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录DataX是什么&#xff…

在WORD中设置公式居中编号右对齐设置方式

1 软件环境 Office Microsoft Office LTSC 专业增强版2021 2 最终效果 3 操作步骤 编辑公式&#xff1b;光标定位到公式的最后&#xff08;不是行的最后&#xff09;&#xff1b;输入#编号光标定位在公式最后&#xff08;不是行的最后&#xff09;&#xff0c;按Enter键回车…

(五)springboot 配置多数据源连接mysql和hive

项目结构如下 mysql 执行如下建表语句&#xff0c;并插入一条测试数据 1 2 3 4 5 CREATE TABLE user ( id int(11) NOT NULL, name varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_ge…

Java实现网上药店系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 药品类型模块2.3 药品档案模块2.4 药品订单模块2.5 药品收藏模块2.6 药品资讯模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 角色表3.2.2 药品表3.2.3 药品订单表3.2.4 药品收藏表3.2.5 药品留言表…

【Java安全】ysoserial-URLDNS链分析

前言 Java安全中经常会提到反序列化&#xff0c;一个将Java对象转换为字节序列传输&#xff08;或保存&#xff09;并在接收字节序列后反序列化为Java对象的机制&#xff0c;在传输&#xff08;或保存&#xff09;的过程中&#xff0c;恶意攻击者能够将传输的字节序列替换为恶…

D盘不见了如何恢复?4个恢复方法(新版)!

“很奇怪&#xff01;我的电脑d盘不知道为什么突然不见了&#xff0c;我还保存了很多重要的文件在里面呢&#xff0c;有什么恢复d盘的方法吗&#xff1f;” 在我们的日常生活中&#xff0c;电脑已经成为了我们工作、学习和娱乐的重要工具。然而&#xff0c;有时候我们会遇到一些…

工信部颁发的《自然语言与语音处理设计开发工程师》中级证书的培训通知

国家发展大势所趋&#xff0c;促进各行各业智能化、数字化转型&#xff0c;而计算机自然语言处理是一个快速发展的领域&#xff0c;随着人工智能技术的不断发展和应用&#xff0c;对自然语言处理的需求也越来越大。因此&#xff0c;计算机自然语言处理的就业前景非常好。 在就业…

docker手动迁移镜像

1&#xff0c;将镜像保存在本地 docker save 镜像名称:版本号 > 镜像名称.tar 2&#xff0c;下载镜像 通过 ftp 工具或者命令&#xff0c;下载到本地 3&#xff0c;上传镜像到目标 docker 所在服务器 4&#xff0c;导入镜像 docker load < 镜像名称.tar

计算机视觉 | OpenCV 实现手势虚拟控制亮度和音量

Hi&#xff0c;大家好&#xff0c;我是半亩花海。在当今科技飞速发展的时代&#xff0c;我们身边充斥着各种智能设备&#xff0c;然而&#xff0c;如何更便捷地与这些设备进行交互却是一个不断被探索的课题。本文将主要介绍一个基于 OpenCV 的手势识别项目&#xff0c;通过手势…