3. Tomcat 介绍 安装 和 使用

1. 概述

Tomcat服务器是一个免费的开放源代码的Web应用服务器。

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet 和JSP规范总是能在Tomcat中得到体现。

因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,是目前比较流行的Web应用服务器。

2. tomcat的下载

目前最常用的组合:  jdk8、mysql5、tomcat8

2.1  先去官网下载:http://tomcat.apache.org/,选择tomcat8版本(红框所示):

Tomcat 的 下载地址:https://tomcat.apache.org/


3. Tomcat 介绍 安装 和 使用_mysql

image-20201110075748666

2.2 选择要下载的文件:

tar.gz 文件 是linux操作系统下的安装版本

exe文件是window操作系统下的安装版本

zip文件是window操作系统下压缩版本(我们选择zip文件)

3.  tomcat服务器软件安装

3.1.  直接解压当前这个tomcat压缩包:不要有中文,不要有空格

找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可。

3. Tomcat 介绍 安装 和 使用_mysql_02


image-20201110080008025

3.2. 配置Java环境变量:

tomcat运行依赖于java环境:

3. Tomcat 介绍 安装 和 使用_mysql_03


image-20201221234319603

4.  tomcat的目录结构

3. Tomcat 介绍 安装 和 使用_linux_04


image-20201110080031299

- bin 专门用来存放 Tomcat 服务器的可执行程序 
- conf 专门用来存放 Tocmat 服务器的配置文件
- lib 专门用来存放 Tomcat 服务器的
- jar logs 专门用来存放 Tomcat 服务器运行时输出的日记信息
- temp 专门用来存放 Tomcdat 运行时产生的临时数据
- webapps 专门用来存放部署的 Web 工程。
- work Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码,和 Session 钝化的目录。

5. 启动与关闭tomcat服务器

5.1. 启动tomcat服务器

找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。

3. Tomcat 介绍 安装 和 使用_linux_05


image-20201110080521681

启动成功之后,如下:

3. Tomcat 介绍 安装 和 使用_tomcat_06


image-20201110080629576

1. 常见的启动失败

常见的启动失败的情况有,双击 startup.bat 文件,就会出现一个小黑窗口一闪而来。

这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。

常见的 JAVA_HOME 配置错误有以下几种情况:

一:JAVA_HOME 必须全大写。

二:JAVA_HOME 中间必须是下划线,不是减号-

三:JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录。

配置 JAVA_HOME 环境变量:

3. Tomcat 介绍 安装 和 使用_tomcat_07


image-20201109234751554

2. 另一种启动 tomcat 服务器的方式

1、打开命令行

2、cd 到 你的 Tomcat 的 bin 目录下

3、敲入启动命令:catalina run

3. Tomcat 介绍 安装 和 使用_mysql_08


image-20201110080939628

3. Tomcat 介绍 安装 和 使用_mysql_09


image-20201110081005388

3. 测试访问tomcat服务器

打开浏览器在,在浏览器的地址栏中输入:

​http://127.0.0.1:8080或者http://localhost:8080​

当出现如下界面,说明 Tomcat 服务器启动成功!!!

3. Tomcat 介绍 安装 和 使用_linux_10


image-20201110080738223

注:Localhost相当于127.0.0.1

5. 2 关闭tomcat服务器

  • 点击 tomcat 服务器窗口的 x 关闭按钮
  • 把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
  • 找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器

3. Tomcat 介绍 安装 和 使用_java_11


image-20201221235153051

6. 如何修改 Tomcat 的端口号

Mysql 默认的端口号是:3306

Tomcat 默认的端口号是:8080

6.1. 找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。

3. Tomcat 介绍 安装 和 使用_linux_12


image-20201110081201829

6.2. 找到在 server.xml 中,修改服务端口号的位置

3. Tomcat 介绍 安装 和 使用_linux_13


image-20201110081320909

6.3. 修改端口号为 58080

3. Tomcat 介绍 安装 和 使用_linux_14


image-20201110081455896

6.4. 再次启动 Tomcat 查看服务的端口号

3. Tomcat 介绍 安装 和 使用_java_15


image-20201110081553119

平时上百度:http://www.baidu.com:80

HTTP 协议默认的端口号是:80

7. 如何部暑 web 工程到 Tomcat 中

第一种部署方法:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可。

1、在 webapps 目录下创建一个 book 工程:

3. Tomcat 介绍 安装 和 使用_大数据_16


image-20201110081846426

2、把项目的内容拷贝到里面:

3. Tomcat 介绍 安装 和 使用_linux_17


image-20201110082003371

3、如何访问 Tomcat 下的 web 工程。

重启Tomcat服务,只需要在浏览器中输入访问地址格式如下:

​http://ip:port/工程名/目录下/文件名​

访问:http://localhost:8080/book/

3. Tomcat 介绍 安装 和 使用_mysql_18


image-20210112000245628

访问成功,说明成功部署了。

第二种部署方法:

找到 Tomcat 下的 conf 目录​​\Catalina\localhost\​​ 下,创建如下的配置文件:

3. Tomcat 介绍 安装 和 使用_linux_19


image-20201110082309644

abc.xml 配置文件内容如下:

<!-- Context 表示一个工程上下文 path 表示工程的访问路径:/abc docBase 表示你的工程目录在哪里 --> 
<Context path="/abc" docBase="G:\book" />

拷贝前端项目代码 到指定的目录下:

3. Tomcat 介绍 安装 和 使用_大数据_20


image-20201110082629946

重启Tomcat服务,访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 指定的 ​​docBase​​ 目录,如下:

3. Tomcat 介绍 安装 和 使用_mysql_21


image-20210112000758594

8. Tomcat 的日志乱码处理

8.1 存在问题

在windows环境开发下,我们可以发现启动 Tomcat 的时候,日志是乱码的,如下:

3. Tomcat 介绍 安装 和 使用_tomcat_22


image-20201110214436632

8.2 解决方法

因为 windows 默认的编码为 GBK,所以只需要将日志的编码格式修改一下即可。

1.找到logging.properties文件(在 tomcat 的 conf 目录下)

3. Tomcat 介绍 安装 和 使用_大数据_23


image-20201110214635369

2. 将​​java.util.logging.ConsoleHandler.encoding = UTF-8​​中的UTF-8更改为GBK

3. Tomcat 介绍 安装 和 使用_tomcat_24


image-20201110214818721

3. Tomcat 介绍 安装 和 使用_tomcat_25


image-20201110214856865

#java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK

8.3. 修改之后,重启即可

3. Tomcat 介绍 安装 和 使用_mysql_26


image-20201110215004153

9.IDEA 整合 Tomcat 服务器

9.1 操作的菜单如下:File | Settings | Build, Execution, Deployment | Application Servers

3. Tomcat 介绍 安装 和 使用_大数据_27


image-20201110083555729

9.2 配置你的 Tomcat 安装目录:

3. Tomcat 介绍 安装 和 使用_java_28


image-20201110083755947

9.3 就可以通过创建一个 Model 查看是不是配置成功!!!

3. Tomcat 介绍 安装 和 使用_mysql_29


image-20201110083901161

3. Tomcat 介绍 安装 和 使用_大数据_30


image-20201110083939496

10.IDEA 中动态 web 工程的操作

1.IDEA 中如何创建动态 web 工程

1.1 创建一个新模块:

3. Tomcat 介绍 安装 和 使用_tomcat_31


image-20201110083901161

1.2 选择你要创建什么类型的模块:

3. Tomcat 介绍 安装 和 使用_java_32


image-20201110084156903

1.3 输入你的模块名,点击【Finish】完成创建。

3. Tomcat 介绍 安装 和 使用_mysql_33


image-20201110084236223

1.4 创建成功如下图:

3. Tomcat 介绍 安装 和 使用_大数据_34


image-20201110084323291

2. Web 工程的目录介绍

3. Tomcat 介绍 安装 和 使用_大数据_35


image-20201110084857717

- src 目录存放编写的 java 源代码
- web 目录专门存放web工程的资源,例如:html、css、js等
- WEB-INF 目录是一个受服务器保护的目录,浏览器无法直接访问到此目录的内容
- lib 目录用来存放第三方的 jar 包。(IDEA还需要自己配置导入)
- web.xml 这是整个web工程的配置部署描述文件,可以在这里配置很多web工程的组件,
比如:Servlet程序、Filter过滤器、Listener监视器、Session超市..等等

3. 如何给动态 web 工程添加额外 jar 包

3.1 可以打开项目结构菜单操作界面,添加一个自己的类库:

3. Tomcat 介绍 安装 和 使用_linux_36


image-20201110124545253

3.2 添加类库需要的 jar 包文件。

3. Tomcat 介绍 安装 和 使用_java_37


image-20201110124738173

3.3 选择你添加的类库,给哪个模块使用:

3. Tomcat 介绍 安装 和 使用_tomcat_38


image-20201110124819175

3.4  选择 Artifacts 选项,将类库,添加到打包部署中:

3. Tomcat 介绍 安装 和 使用_java_39


image-20201110124952420

3. Tomcat 介绍 安装 和 使用_java_40


image-20201110125149013

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

4.1 建议修改 web 工程对应的 Tomcat 运行实例名称:

3. Tomcat 介绍 安装 和 使用_大数据_41


image-20201110140900305

3. Tomcat 介绍 安装 和 使用_大数据_42


image-20201110140951581

3. Tomcat 介绍 安装 和 使用_tomcat_43


image-20201110141114493

4.2 确认你的 Tomcat 实例中有你要部署运行的 web 工程模块:

3. Tomcat 介绍 安装 和 使用_linux_44


image-20201110141310057

4.3  你还可以修改你的 Tomcat 实例启动后默认的访问地址:

3. Tomcat 介绍 安装 和 使用_tomcat_45


image-20201110141416087

5、在 IDEA 中如何运行,和停止 Tomcat 实例。

5.1、正常启动 Tomcat 实例:

首先在 index.jsp 写上一些内容:

3. Tomcat 介绍 安装 和 使用_mysql_46


image-20201110215831981

启动 Tomcat 如下:

3. Tomcat 介绍 安装 和 使用_tomcat_47


image-20201110141700786

浏览器呈现如下:

3. Tomcat 介绍 安装 和 使用_java_48


image-20201110215902552

5.2、Debug 方式启动 Tomcat 运行实例:

3. Tomcat 介绍 安装 和 使用_java_49


image-20201110141723226

5.3 停止 Tomcat 运行实例:

3. Tomcat 介绍 安装 和 使用_大数据_50


image-20201110141829351

5.4 重启 Tomcat 运行实例:

3. Tomcat 介绍 安装 和 使用_linux_51


image-20201110141918486

6. 修改工程访问路径

3. Tomcat 介绍 安装 和 使用_mysql_52


image-20201110142111578

7. 修改运行的端口号

3. Tomcat 介绍 安装 和 使用_linux_53


image-20201110142154935

8.修改运行使用的浏览器

3. Tomcat 介绍 安装 和 使用_linux_54


image-20201110142224099

9. 配置资源热部署

9.1 存在的更新问题:

有时候,我们开发页面JSP的时候,如果没有配置资源热部署,那么每次都要重启一遍 tomcat 才能看到自己写的新内容,如下:

3. Tomcat 介绍 安装 和 使用_linux_55


image-20201110224220371

9.2配置资源热部署:

3. Tomcat 介绍 安装 和 使用_mysql_56


image-20201110142334172

9.3 配置之后的效果如下:

3. Tomcat 介绍 安装 和 使用_linux_57


image-20201110224343484

10 .Tomcat 的 已有模块部署配置

10.1 存在问题

当我们开发项目,将代码上传仓库,然后再拉取到其他电脑开发,那么就会发现项目里面的 模块没有了配置,大致如下:

3. Tomcat 介绍 安装 和 使用_linux_58


image-20201110221829557

10.2 重新设置已有的模块

1.开发项目的结构

3. Tomcat 介绍 安装 和 使用_linux_59


image-20201110222638952

2.导入已有的模块

3. Tomcat 介绍 安装 和 使用_tomcat_60


image-20201110222654687

3. Tomcat 介绍 安装 和 使用_mysql_61


image-20201110222739692

3. Tomcat 介绍 安装 和 使用_java_62


image-20201110222817175

3. Tomcat 介绍 安装 和 使用_mysql_63


image-20201110222843837

3. Tomcat 介绍 安装 和 使用_java_64


image-20201110222914504

3. Tomcat 介绍 安装 和 使用_tomcat_65


image-20201110222933734

3. Tomcat 介绍 安装 和 使用_tomcat_66


image-20201110222958160

3.设置模块的 Artifacts(后续用来指定部署到 Tomcat 的文件资源)

3. Tomcat 介绍 安装 和 使用_linux_67


image-20201110223105242

3. Tomcat 介绍 安装 和 使用_大数据_68


image-20201110223156734

3. Tomcat 介绍 安装 和 使用_大数据_69


image-20201110223214069

4.添加tomcat服务

3. Tomcat 介绍 安装 和 使用_java_70


image-20201110223236768

3. Tomcat 介绍 安装 和 使用_大数据_71


image-20201110223256904

3. Tomcat 介绍 安装 和 使用_tomcat_72


image-20201110223311442

3. Tomcat 介绍 安装 和 使用_mysql_73


image-20201110223349196

3. Tomcat 介绍 安装 和 使用_java_74


image-20201110223438624

3. Tomcat 介绍 安装 和 使用_mysql_75


image-20201110223503761

配置好如下:

3. Tomcat 介绍 安装 和 使用_linux_76


image-20201110223524140

5.启动tomcat服务

3. Tomcat 介绍 安装 和 使用_java_77


image-20201110223556611

浏览器显示如下:

3. Tomcat 介绍 安装 和 使用_tomcat_78


image-20201110223744267

11.小结

11.1 安装注意点

  • 解压到一个没有中文和空格目录下
  • 使用之前, 配置java_home和path(jdk环境变量)
  • java_home 不要配到bin目录,配到jdk的安装目录
  • path 才是配到bin目录

11.2 端口号冲突

报如下异常: java.net.BindException: Address already in use: JVM_Bind   8080

解决办法:

1. 第一种:修改Tomcat的端口号

Mysql 默认的端口号是:3306

Tomcat 默认的端口号是:8080

1.1 找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。

3. Tomcat 介绍 安装 和 使用_java_79


image-20201110081201829

1.2. 找到在 server.xml 中,修改服务端口号的位置

3. Tomcat 介绍 安装 和 使用_java_80


image-20201110081320909

1.3.修改端口号为 58080

3. Tomcat 介绍 安装 和 使用_mysql_81


image-20201110081455896

1.4.再次启动 Tomcat 查看服务的端口号

3. Tomcat 介绍 安装 和 使用_java_82


image-20201110081553119

平时上百度:http://www.baidu.com:80

HTTP 协议默认的端口号是:80

2.第二种:查询出来哪一个进程把8080占用了, 结束掉占用8080端口后的程序

打开命令行输入:  netstat -ano

找到占用了8080 端口的 进程的id

去任务管理器kill掉这个id对应的程序

3. Tomcat 介绍 安装 和 使用_tomcat_83

11.3 JAVA_HOME没有配置

  • 会出现闪退  (如果java_home配置了还是闪退  忽略它了, 后面在IDEA里面进行启动, 就没有这个问题)