Tomcat学习

Tomcat 介绍

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。

Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器

Web基础

  • C/S ,Client/Server,就是客户端与服务器,顾名思义,用户需要安装相应的客户端才能运行,典型的如QQ,微信。
    优点:减轻服务端的处理压力,运算速度快,对客户端响应快
    缺点:版本升级成本高,每次升级必须先卸载老版本在升级
  • B/S,Browser/Server,浏览器/服务器,本质上来说也是cs架构,只不过client变成了browser而已。
    优点:不存在客户端升级问题,只需要升级服务端程序即可。
    缺点:具体业务的处理压力,全部加载了服务端,导致服务端程序运算速度降低,响应速度降低,用户体验差。

Tomcat重要目录

  • /bin - Tomcat 脚本存放目录(如启动、关闭脚本)*.sh 文件用于 Unix 系统; *.bat 文件用于 Windows 系统。

  • /conf - Tomcat 配置文件目录。

  • /logs - Tomcat 默认日志目录。

  • /webapps - webapp 运行的目录。

Tomcat的启动

找到bin目录下的statup.bat/sh,进行在windows/Linux下的启动。
在这里插入图片描述
如果一闪而过:说明jdk没配置成功,这里直接介绍在startup.bat中修改代码来配置jdk。
在这里插入图片描述
如果再加入pause的话,那么界面就不会闪退,方便我们查看错误。
如果遇到启动过程中有如下错误:

Access Error: 404 -- Not Found Cannot locate document: /

该错误是有进程在占用8080端口,需要手动在cmd终端命令行上查找占用该8080端口的进程

1,在cmd查找正在使用8080端口的进程:netstat -ano | findstr 8080

2,杀死正在使用8080端口的进程:taskkill -pid id -f(id是指进程的id)

3,重新启动的Tomcat,刷新页面即可

在这里插入图片描述
之后再次运行startup.bat,访问localhost:8080端口便可以访问成功。
在这里插入图片描述在这里插入图片描述

修改Tomcat默认端口

默认情况下,Tomcat配置的默认端口是8080。这就是为什么所有已部署的Web应用程序都可以通过URL访问的原因:http://localhost:8080/yourapp。如果希望应该在80端口上运行,则需要将默认端口8080更改为80,这是HTTP连接器的默认端口。

  • 首页在conf文件下找到server.xml文件,找到这段代码。
    在这里插入图片描述将其改为:
    在这里插入图片描述
    修改后,您可以使用"http://localhost/"来访问您的应用程序。

Tomcat管理器

当使用Tomcat的Webapps目录,对Web应用进行管理时,无法控制单个Web应用的启动与停止
为此,Tomcat提供了一个管理平台,该平台列出了所有的Web应用及其状态,并且,提供了控制每个Web应用的启动、停止与卸载的功能。

  • 在浏览器的地址栏中输入 http://localhost:8080/
    打开Tomcat首页,单击,Tomcat首页的Manager App链接进入Tomcat管理平台
    在这里插入图片描述
    登录对话框,需要输入用户名和密码,由于,是首次登录Tomcat管理平台,并不知道用户名和密码
    因此,单击取消按钮,此时,浏览器会跳转到另一个页面:
    在这里插入图片描述
    浏览器显示了,有关登录管理平台的提示信息
    根据提示信息,要访问管理平台,需要在conf\tomcat-users.xml文件中,添加具有管理权限的账号
  • 添加Tomcat管理器的管理账户
    要访问Tomcat管理器,需要创建一个具有特权的用户。在conf文件夹下的tomcat-users.xml文件。在这个文件中,定义用户来访问tomcat管理器。
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
  version="1.0">
    <user username="admin" password="admin" roles="manager-gui,admin-gui"/>
</tomcat-users>

新增一下。在标签中,定义了一个角色为manager-gui和admin-gui的用户为"admin",密码为"admin"。
重新启动服务器,然后再次访问Tomcat的管理器:
在这里插入图片描述

Tomcat配置SSL证书

SSL证书是什么?

HTTPS核心的一个部分是数据传输之前的握手,握手过程中确定了数据加密的密码。在握手过程中,网站会向浏览器发送SSL证书,SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。
证书的格式是由X.509标准定义。SSL证书负责传输公钥,是一种PKI(Public Key Infrastructure,公钥基础结构)证书。
常见的证书根据用途不同大致有以下几种:
1、SSL证书,用于加密HTTP协议,也就是HTTPS。
2、代码签名证书,用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等。
3、客户端证书,用于加密邮件。
4、双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。

如何配置

Windows上:运行以下命令以生成证书:

keytool -genkey -alias tomcat -keyalg RSA -keystore D:\Tomcat\keystore\tomcat

该工具将询问一些问题以提供证书。这些问题:通常是一些个人的基础信息。
在这里插入图片描述
出错原因:这是因为jdk在C盘没有写的权限。网上的方法都是将以管理员权限打开,这里我直接在D盘下直接生成keystore

keytool -genkey -alias tomcat -keyalg RSA -keystore Tomcat.keystore

在这里插入图片描述
证书将位于文件夹中,证书名称为"tomcat"。您可以使用以下方法检查证书:
Windows上

keytool -list -keystore Tomcat.keystore

在这里插入图片描述
【netstat -ano】查看所有端口
【netstat -aon|findstr “端口”】查看端口进程
【tasklist|findstr “7172”】杀死端口进程

使用SSL证书

编辑文件:

Windows上,找打conf文件夹下的server.xml文件

D:\Tomcat\conf\server.xml

并添加一个SSL连接器:
在这里插入图片描述
重新启动Tomcat,您就完成了。现在,您可以在Tomcat中的HTTPS下运行您的应用程序。

每个应用程序使用不同的Tomcat实例。

1 配置Tomcat服务器的多个实例

步骤1)安装Tomcat服务器

这是非常明显的第一步。假设tomcat安装目录为"C:tomcatServer"。

步骤2)在不同位置创建2个新的不同文件夹

这些文件夹用于存储实例特定的配置和其他数据,例如日志,临时数据。
假设新文件夹为"C:/tomcatInstanceOne"和"C:/tomcatInstanceTwo"。

步骤3)将"conf"文件夹复制到应用文件夹

为了使每个实例具有不同的配置,必须执行此步骤。

步骤4)创建实例特定的startup.bat和shutdown.bat

启动和关闭应用将需要这些文件。文件内容如下:
startup.bat

set CATALINA_HOME=C:\tomcatServer
set CATALINA_BASE=C:\tomcatInstanceOne
C:\tomcatServer\bin\startup.bat

shutdown.bat

set CATALINA_HOME=C:\tomcatServer
set CATALINA_BASE=C:\tomcatInstanceOne
C:\tomcatServer\bin\shutdown.bat

将两个文件都放在两个应用目录的"bin"目录中。[ 例如,创建文件夹C:/tomcatInstanceOne/bin并复制两个文件 ]。

步骤5)创建setenv.bat环境配置

在"C\tomcatInstanceOne\bin"(以及第二个实例文件夹)目录中创建一个名为setenv.bat的文件,以设置C:\tomcatServer\bin\catalina.bat中提到的任何环境变量。在这里设置系统属性,JPDA地址等。

步骤6)为日志等创建更多文件夹

现在是时候创建更多文件夹,这些文件夹将在您的应用程序实际运行时使用。这些文件夹类似于日志,临时文件,Web应用程序和工作文件夹。在两个实例文件夹中分别创建它们。
只需确保编辑conf\server.xml文件,以使关闭端口和HTTP连接器端口不会干扰可能正在运行的其他tomcat实例。
例如,更改tomcat将要运行/调试的端口。
第一个应用的server.xml文件:

<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8005" shutdown="SHUTDOWN"/>
<connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8100" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

第二个应用server.xml文件:

<connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<server port="8006" shutdown="SHUTDOWN"/>
<connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
<connector port="8101" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

完成上述更改后,您应该能够在计算机中启动同一Tomcat服务器的多个实例。

Tomcat的部署web方式

通过复制Web应用到Tomcat中实现

首先需要将Web应用文件夹复制到Tomcat安装目 录下的webapps文件夹中,然后启动Tomcat 服务器,再打开IE浏览器,最后在IE浏览器的地址栏中输入"http://服务器IP:端口 /应用程序名称"形式的URL地址(例如 http://127.0.0.1:8080/firstProject),即可运行Java Web应用程序。
在这里插入图片描述

通过在server.xml文件中配 < Context>元素实现

首先打开Tomcat安装路径下的conf 文件夹下的server.xml文件,然后在<Host> </Host>元素中间添加<Context >元素。例 如,要配置D:\JavaWeb\文件夹下的Web应 用testOI可以使用以下代码:
在这里插入图片描述
在这里插入图片描述最后保存修改的server.xml文件,并重启 Tomcat服务器,在IE地址栏中输入URL地址http://localhost:8080/01/ 访问 Web 应用 test01
注意:。。。。8080/01中的01是path的值,在设置这些路径是都要用/,docBase是指明了文件路径,而域名中使用的是path。

在Eclipse中部署开发web示例

创建项目

选择文件,新建项目,选择动态项目。
在这里插入图片描述
在Dynamic web module versionT拉列表框中选择3.0 选项,其他采用默认
在这里插入图片描述

Tomcat 子目录及其说明

bin 命令中心(启动命令,关闭命令……)
conf 配置中心(端口号,内存大小……)
lib Tomcat 的库文件。Tomcat 运行时需要的 jar 包所在的目录。
logs 存放日志文件。
temp 存储临时产生的文件,即缓存。
webapps 存放项目的文件,web 应用放置到此目录下浏览器可以直接访问。
work 编译以后的 class 文件。

1. bin 目录

bin 目录用来存放 Tomcat 命令,主要分为两大类,一类是以.sh结尾的 Linux 命令,另一类是以.bat结尾的 Windows 命令。很多环境变量都在此处设置,例如 JDK 路径、Tomcat 路径等。
bin 目录包含的内容在这里插入图片描述图1:bin 目录包含的内容

下面是几个常用的 Tomcat 命令:

startup.sh/startup.bat:用来启动 Tomcat;
shutdown.sh/shutdown.bat:用来关闭 Tomcat;
catalina.bat/ catalina.bat:用来设置 Tomcat 的内存。

2. conf 目录

conf 目录主要是用来存放 Tomcat 的配置文件,如下图所示:
conf 目录包含的内容
在这里插入图片描述
图2:conf 目录包含的内容

下面是常用到的几个文件:

server.xml 用来设置域名、IP、端口号、默认加载的项目、请求编码等;
context.xml 用来配置数据源等;
tomcat-users.xml 用来配置和管理 Tomcat 的用户与权限;
web.xml 可以设置 Tomcat 支持的文件类型;
在 Catalina 目录下可以设置默认加载的项目。

3. lib 目录

lib 目录主要用来存放 Tomcat 运行需要加载的 jar 包。
lib 目录包含的内容
在这里插入图片描述
图3:lib 目录包含的内容

4. logs 目录

logs 目录用来存放 Tomcat 在运行过程中产生的日志文件,清空该目录中的文件不会对 Tomcat 的运行带来影响。

在 Windows 系统中,控制台的输出日志在 catalina.xxxx-xx-xx.log 文件中;在 Linux 系统中,控制台的输出日志在 catalina.out 文件中。

5. temp 目录

temp 目录用来存放 Tomcat 在运行过程中产生的临时文件,清空该目录中的文件不会对 Tomcat 的运行带来影响。

temp 目录包含的内容
在这里插入图片描述
图4:temp 目录包含的内容

6. webapps 目录

webapps 目录用来存放应用程序(也就是通常所说的网站),当 Tomcat 启动时会去加载 webapps 目录下的应用程序,我们编写的 Servlet 程序就可以放在这里。Tomcat 允许以文件夹、war 包、jar 包的形式发布应用。
webapps 目录包含的内容
在这里插入图片描述
图5:webapps 目录包含的内容

7. work 目录

work 目录用来存放 Tomcat 在运行时的编译文件(也即 class 字节码文件),例如 JSP 编译后的文件。清空 work 目录,然后重启 Tomcat,可以达到清除缓存的作用。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刹那永恒HB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值