板块零 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的学习