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/
image-20201110075748666
2.2 选择要下载的文件:
tar.gz 文件 是linux操作系统下的安装版本
exe文件是window操作系统下的安装版本
zip文件是window操作系统下压缩版本(我们选择zip文件)
3. tomcat服务器软件安装
3.1. 直接解压当前这个tomcat压缩包:不要有中文,不要有空格
找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可。
image-20201110080008025
3.2. 配置Java环境变量:
tomcat运行依赖于java环境:
image-20201221234319603
4. tomcat的目录结构
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 服务器。
image-20201110080521681
启动成功之后,如下:
image-20201110080629576
1. 常见的启动失败
常见的启动失败的情况有,双击 startup.bat 文件,就会出现一个小黑窗口一闪而来。
这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。
常见的 JAVA_HOME 配置错误有以下几种情况:
一:JAVA_HOME 必须全大写。
二:JAVA_HOME 中间必须是下划线,不是减号-
三:JAVA_HOME 配置的路径只需要配置到 jdk 的安装目录即可。不需要带上 bin 目录。
配置 JAVA_HOME 环境变量:
image-20201109234751554
2. 另一种启动 tomcat 服务器的方式
1、打开命令行
2、cd 到 你的 Tomcat 的 bin 目录下
3、敲入启动命令:catalina run
image-20201110080939628
image-20201110081005388
3. 测试访问tomcat服务器
打开浏览器在,在浏览器的地址栏中输入:
http://127.0.0.1:8080或者http://localhost:8080
当出现如下界面,说明 Tomcat 服务器启动成功!!!
image-20201110080738223
注:Localhost相当于127.0.0.1
5. 2 关闭tomcat服务器
- 点击 tomcat 服务器窗口的 x 关闭按钮
- 把 Tomcat 服务器窗口置为当前窗口,然后按快捷键 Ctrl+C
- 找到 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器
image-20201221235153051
6. 如何修改 Tomcat 的端口号
Mysql 默认的端口号是:3306
Tomcat 默认的端口号是:8080
6.1. 找到 Tomcat 目录下的 conf 目录,找到 server.xml 配置文件。
image-20201110081201829
6.2. 找到在 server.xml 中,修改服务端口号的位置
image-20201110081320909
6.3. 修改端口号为 58080
image-20201110081455896
6.4. 再次启动 Tomcat 查看服务的端口号
image-20201110081553119
“
平时上百度:http://www.baidu.com:80
HTTP 协议默认的端口号是:80
”
7. 如何部暑 web 工程到 Tomcat 中
第一种部署方法:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可。
1、在 webapps 目录下创建一个 book 工程:
image-20201110081846426
2、把项目的内容拷贝到里面:
image-20201110082003371
3、如何访问 Tomcat 下的 web 工程。
重启Tomcat服务,只需要在浏览器中输入访问地址格式如下:
http://ip:port/工程名/目录下/文件名
访问:http://localhost:8080/book/
image-20210112000245628
访问成功,说明成功部署了。
第二种部署方法:
找到 Tomcat 下的 conf 目录\Catalina\localhost\
下,创建如下的配置文件:
image-20201110082309644
abc.xml 配置文件内容如下:
<!-- Context 表示一个工程上下文 path 表示工程的访问路径:/abc docBase 表示你的工程目录在哪里 -->
<Context path="/abc" docBase="G:\book" />
拷贝前端项目代码 到指定的目录下:
image-20201110082629946
重启Tomcat服务,访问这个工程的路径如下:http://ip:port/abc/ 就表示访问 指定的 docBase
目录,如下:
image-20210112000758594
8. Tomcat 的日志乱码处理
8.1 存在问题
在windows环境开发下,我们可以发现启动 Tomcat 的时候,日志是乱码的,如下:
image-20201110214436632
8.2 解决方法
因为 windows 默认的编码为 GBK,所以只需要将日志的编码格式修改一下即可。
1.找到logging.properties文件(在 tomcat 的 conf 目录下)
image-20201110214635369
2. 将java.util.logging.ConsoleHandler.encoding = UTF-8
中的UTF-8更改为GBK
image-20201110214818721
image-20201110214856865
#java.util.logging.ConsoleHandler.encoding = UTF-8
java.util.logging.ConsoleHandler.encoding = GBK
8.3. 修改之后,重启即可
image-20201110215004153
9.IDEA 整合 Tomcat 服务器
9.1 操作的菜单如下:File | Settings | Build, Execution, Deployment | Application Servers
image-20201110083555729
9.2 配置你的 Tomcat 安装目录:
image-20201110083755947
9.3 就可以通过创建一个 Model 查看是不是配置成功!!!
image-20201110083901161
image-20201110083939496
10.IDEA 中动态 web 工程的操作
1.IDEA 中如何创建动态 web 工程
1.1 创建一个新模块:
image-20201110083901161
1.2 选择你要创建什么类型的模块:
image-20201110084156903
1.3 输入你的模块名,点击【Finish】完成创建。
image-20201110084236223
1.4 创建成功如下图:
image-20201110084323291
2. Web 工程的目录介绍
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 可以打开项目结构菜单操作界面,添加一个自己的类库:
image-20201110124545253
3.2 添加类库需要的 jar 包文件。
image-20201110124738173
3.3 选择你添加的类库,给哪个模块使用:
image-20201110124819175
3.4 选择 Artifacts 选项,将类库,添加到打包部署中:
image-20201110124952420
image-20201110125149013
4 .如何在 IDEA 中部署工程到 Tomcat 上运行
4.1 建议修改 web 工程对应的 Tomcat 运行实例名称:
image-20201110140900305
image-20201110140951581
image-20201110141114493
4.2 确认你的 Tomcat 实例中有你要部署运行的 web 工程模块:
image-20201110141310057
4.3 你还可以修改你的 Tomcat 实例启动后默认的访问地址:
image-20201110141416087
5、在 IDEA 中如何运行,和停止 Tomcat 实例。
5.1、正常启动 Tomcat 实例:
首先在 index.jsp 写上一些内容:
image-20201110215831981
启动 Tomcat 如下:
image-20201110141700786
浏览器呈现如下:
image-20201110215902552
5.2、Debug 方式启动 Tomcat 运行实例:
image-20201110141723226
5.3 停止 Tomcat 运行实例:
image-20201110141829351
5.4 重启 Tomcat 运行实例:
image-20201110141918486
6. 修改工程访问路径
image-20201110142111578
7. 修改运行的端口号
image-20201110142154935
8.修改运行使用的浏览器
image-20201110142224099
9. 配置资源热部署
9.1 存在的更新问题:
有时候,我们开发页面JSP的时候,如果没有配置资源热部署,那么每次都要重启一遍 tomcat 才能看到自己写的新内容,如下:
image-20201110224220371
9.2配置资源热部署:
image-20201110142334172
9.3 配置之后的效果如下:
image-20201110224343484
10 .Tomcat 的 已有模块部署配置
10.1 存在问题
当我们开发项目,将代码上传仓库,然后再拉取到其他电脑开发,那么就会发现项目里面的 模块没有了配置,大致如下:
image-20201110221829557
10.2 重新设置已有的模块
1.开发项目的结构
image-20201110222638952
2.导入已有的模块
image-20201110222654687
image-20201110222739692
image-20201110222817175
image-20201110222843837
image-20201110222914504
image-20201110222933734
image-20201110222958160
3.设置模块的 Artifacts(后续用来指定部署到 Tomcat 的文件资源)
image-20201110223105242
image-20201110223156734
image-20201110223214069
4.添加tomcat服务
image-20201110223236768
image-20201110223256904
image-20201110223311442
image-20201110223349196
image-20201110223438624
image-20201110223503761
配置好如下:
image-20201110223524140
5.启动tomcat服务
image-20201110223556611
浏览器显示如下:
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 配置文件。
image-20201110081201829
1.2. 找到在 server.xml 中,修改服务端口号的位置
image-20201110081320909
1.3.修改端口号为 58080
image-20201110081455896
1.4.再次启动 Tomcat 查看服务的端口号
image-20201110081553119
“
平时上百度:http://www.baidu.com:80
HTTP 协议默认的端口号是:80
”
2.第二种:查询出来哪一个进程把8080占用了, 结束掉占用8080端口后的程序
打开命令行输入: netstat -ano
找到占用了8080 端口的 进程的id
去任务管理器kill掉这个id对应的程序
11.3 JAVA_HOME没有配置
- 会出现闪退 (如果java_home配置了还是闪退 忽略它了, 后面在IDEA里面进行启动, 就没有这个问题)