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

本文主要是介绍板块零 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的学习

这篇关于板块零 IDEA编译器基础:第三节 下载和在IDEA中集成 Tomcat服务器 来自【汤米尼克的JAVAEE全套教程专栏】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/686776

相关文章

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经

Java利用docx4j+Freemarker生成word文档

《Java利用docx4j+Freemarker生成word文档》这篇文章主要为大家详细介绍了Java如何利用docx4j+Freemarker生成word文档,文中的示例代码讲解详细,感兴趣的小伙伴... 目录技术方案maven依赖创建模板文件实现代码技术方案Java 1.8 + docx4j + Fr

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

基于SpringBoot+Mybatis实现Mysql分表

《基于SpringBoot+Mybatis实现Mysql分表》这篇文章主要为大家详细介绍了基于SpringBoot+Mybatis实现Mysql分表的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录基本思路定义注解创建ThreadLocal创建拦截器业务处理基本思路1.根据创建时间字段按年进