Tomcat学习笔记

Tomcat

在说Tomcat之前扯几句其他的知识

Web 资源的分类#

web 资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。

静态资源: html、css、js、txt、mp4 视频 , jpg 图片

动态资源: jsp 页面、Servlet 程序

常用的 Web 服务器#

Tomcat:由 Apache 组织提供的一种 Web 服务器,提供对 jsp 和 Servlet 的支持。它是一种轻量级的 javaWeb 容器(服务 器),也是当前应用最广的 JavaWeb 服务器(免费)。

Jboss:是一个遵从 JavaEE 规范的、开放源代码的、纯 Java 的 EJB 服务器,它支持所有的 JavaEE 规范(免费)。

GlassFish: 由 Oracle 公司开发的一款 JavaWeb 服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。

Resin:是 CAUCHO 公司的产品,是一个非常流行的服务器,对 servlet 和 JSP 提供了良好的支持, 性能也比较优良,resin 自身采用 JAVA 语言开发(收费,应用比较多)。

WebLogic:是 Oracle 公司的产品,是目前应用最广泛的 Web 服务器,支持 JavaEE 规范, 而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)

Tomcat 服务器和 Servlet 版本的对应关系#

当前企业常用版本 7.*、8.*

Tomcat服务器和Servlet版本的对应关系

Servlet 程序从 2.5 版本是现在世面使用最多的版本(xml 配置)

到了 Servlet3.0 之后。就是注解版本的 Servlet 使用。

Tomcat 的使用#

安装#

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

目录介绍#

bin 专门用来存放 Tomcat 服务器的可执行程序

conf 专门用来存放 Tocmat 服务器的配置文件

lib 专门用来存放 Tomcat 服务器的 jar 包

logs 专门用来存放 Tomcat 服务器运行时输出的日记信息

temp 专门用来存放 Tomcdat 运行时产生的临时数据

webapps 专门用来存放部署的 Web 工程。

work 是 Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码,和 Session 钝化(序列化)的目录

如何启动 Tomcat#

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

如何测试 Tomcat 服务器启动成功? 打开浏览器,在浏览器地址栏中输入任一以下地址测试:

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

Tomcat 服务器启动成功

常出现的问题:双击 startup.bat 文件,就会出现一个小黑窗口一闪而过。 这个时候,失败的原因基本上都是因为没有配置好 JAVA_HOME 环境变量。如何配置网上可以搜到好多,我这里就不赘述了

也可以使用命令行启动

​ cd 到自己的 Tomcat 的 bin 目录下

​ 敲入启动命令:catalina run

使用命令行启动

使用命令行启动,如果启动失败,可以看到启动失败的原因,窗口不会一闪而过

Tomcat 的停止#

  • 关掉启动Tomcat的命令行窗口
  • 或者在命令行使用 Ctrl+C 停止进程
  • 或者找到 Tomcat 的 bin 目录下的 shutdown.bat ,双击文件,就可以停止 Tomcat 服务器

如何修改 Tomcat 的端口号#

Mysql 默认的端口号是:3306

Tomcat 默认的端口号是:8080

找到 Tomcat 目录下的 conf 目录,找到 server.xml配置文件,找到"Connector"标签,修改port属性,将8080修改为自己想要的端口号即可,1-65535,不要选1000以内,1000以内是系统自身使用的。

注意修改完端口号后一定要重启Tomcat服务器才能生效

修改Tomcat端口号

如何部署 Web 工程到 Tomcat 中#

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

  • 在 webapps 目录下创建一个 book 工程(名字随意,一个文件夹就是一个工程)

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

  • 把自己做的内容拷贝到里面

把自己做的内容拷贝到里面

如何访问Tomcat下的Web工程

​ 只需要在浏览器中输入访问地址格式如下:

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

第二种部署方法

​ 找到 Tomcat 下的 conf 目录\Catalina\localhost\ 下,创建如下的配置文件(名字看自己的情况写就行)

创建配置文件

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

abc.xml 配置文件内容

​ 访问这个工程的路径如下:

​ 访问 http://ip:port/abc/ 就表示访问上图中的 docBase 目录

手拖 html 页面到浏览器和在浏览器中输入 http://ip:端口号/工程名/ 访问的区别#

  • 手拖html页面的原理:

手拖html页面的原理

  • 输入访问地址访问的原理

输入访问地址访问的原理

root 工程的访问,以及默认 index.html 页面的访问#

  • 当我们在浏览器地址栏中输入访问地址如下: http://ip:port/ ====>>>> 没有工程名的时候,默认访问的是 ROOT 工程
  • 当我们在浏览器地址栏中输入的访问地址如下: http://ip:port/工程名/ ====>>>> 没有资源名,默认访问 index.html

IDEA 整合 Tomcat 服务器#

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

IDEA整合Tomcat服务器-1

配置你的 Tomcat 安装目录

IDEA整合Tomcat服务器-2

IDEA整合Tomcat服务器-3

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

IDEA整合Tomcat服务器-4

IDEA 中动态 Web 工程的操作#

IDEA 中如何创建动态 Web 工程#

  1. 创建一个新模块

创建动态Web工程-1

  1. 选择你要创建什么类型的模块

创建动态Web工程-2

注意勾选箭头所指

  1. 输入模块名,点击【Finish】完成创建

创建动态Web工程-3

Web 工程目录介绍#

Web工程目录介绍

  • src目录用来存放自己编写的java源代码
  • web目录专门用来存放web工程的资源文件,例如:html页面,css文件,js文件等等
  • WEB-INF目录是一个受服务器保护的目录,浏览器无法直接方法到此目录的内容
  • lib为自己额外添加的目录,用来存放第三方的jar包
  • web.xml是整个动态web工程的配置部署描述文件,可以在这里配置很多web工程的组件,比如:Servlet程序,Filter过滤器,Listener监听器,Session超时等等

如何给动态 Web 工程添加额外jar包#

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

给动态web工程添加额外jar包-1

给动态web工程添加额外jar包-1

  1. 添加你类库需要的 jar 包文件。

给动态web工程添加额外jar包-3

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

给动态web工程添加额外jar包-4

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

给动态web工程添加额外jar包-5

给动态web工程添加额外jar包-6

说实话,自己看完视频后,感觉这种添加方法比原来用添加方法的还麻烦,不知道好处在哪。。。。。

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

  1. 建议修改web工程对应的Tomcat运行实例名称,这里修改为05_web:

在 IDEA 中部署工程到 Tomcat 上运行-1

在 IDEA 中部署工程到 Tomcat 上运行-2

​ 其中红色方框所框内容为启动Tomcat运行实例时默认打开的访问地址

  1. 在IDEA中运行Tomcat实例

在 IDEA 中部署工程到 Tomcat 上运行-2

​ 显示的内容为工程下的index.jsp文件

在 IDEA 中部署工程到 Tomcat 上运行-4

在 IDEA 中部署工程到 Tomcat 上运行-5

配置资源热部署#

热部署的意思就是修改源码,页面刷新即可显示变更结果,如图修改如下参数即可

在 IDEA 中部署工程到 Tomcat 上运行-1

在 IDEA 中部署工程到 Tomcat 上运行-6

作者:xuzhuo123

出处:https://www.cnblogs.com/xuzhuo123/p/15382991.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   KeepGoing4everZxz  阅读(290)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示