Tomcat简介和安装

Tomcat
Tomcat简介

(1)Tomcat仅仅实现了JavaEE规范中与Servlet、JSP相关的类库,是JavaEE的不完整实现。但是项目中仅为了使用Servlet与JSP,Tomcat也足够使用

(2)Tomcat4.x发布时,内建了Catalina(Servlet容器)和Jasper(JSP engine)等

  • Jasper是转换工具:将JSP代码转化为Servlet代码

(3)Tomcat的配置文件是XML格式的

(4)jar包:JAR(Java ARchive,Java 归档),其本质是zip格式的压缩包,可以通过改名解压。jar包通常用于聚合大量的Java类文件、相关的元数据和资源(文本、图片等)文件到一个文件,以便开发Java平台应用软件或库。

(5)Tomcat官网:https://tomcat.apache.org/

Tomcat安装

(1)yum安装 centos7.6的yum源的Tomcat版本为Tomcat7.0(一般也不会使用yum安装)

# yum install tomcat tomcat-admin-webapps tomcat-webapps

(2)一般去Tomcat官网下载Tomcat安装包

[root@centos7-17 ~]# ll
-rw-r--r--  1 root root   9711748 Jun 20 23:54 apache-tomcat-8.5.42.tar.gz
-rw-r--r--  1 root root  10267082 Nov 20 20:13 apache-tomcat-8.5.47.tar.gz


[root@centos7-17 ~]#  tar xf apache-tomcat-8.5.47.tar.gz  -C /usr/local/
[root@centos7-17 ~]# cd /usr/local/
[root@centos7-17 local]# ln -s apache-tomcat-8.5.47/ tomcat


#将二进制程序加入环境变量
[root@centos7-17 tomcat]# echo 'PATH=/usr/local/tomcat/bin/:$PATH' > /etc/profile.d/tomcat.sh
[root@centos7-17 tomcat]# . /etc/profile.d/tomcat.sh


#建立tomcat用户启动Tomcat
[root@centos7-17 tomcat]# groupadd -g 1010 tomcat
[root@centos7-17 tomcat]# useradd tomcat -u 1010 -r
[root@centos7-17 tomcat]# id tomcat
uid=1010(tomcat) gid=1010(tomcat) groups=1010(tomcat)


#修改/usr/local/tomcat/的属主属组
[root@centos7-17 tomcat]# chown -R tomcat.tomcat /usr/local/tomcat/


#启动Tomcat
[root@centos7-17 tomcat]# su - tomcat -c "/usr/local/tomcat/bin/catalina.sh start"
  • 注:部署Tomcat程序时可能需要设置Tomcat进程的用户,也可能不设置,后续实验将直接使用root用户启动Tomcat。

(3)Tomcat启动之后:

Tomcat安装后:

(1)目录结构:

目录说明
bin可执行程序目录(Tomcat的启动、停止)
lib库目录 (.jar文件)
conf配置文件
logs日志文件目录
webapps应用程序,应用部署目录
workjsp编译后的结果文件 .class or .java(Servlet)

(2)配置文件:https://blog.csdn.net/wdirdo/article/details/103178352

Tomcat内部组成

(1)组件分类:

  • 顶级组件:server、代表整个Tomcat容器
  • 服务类组件:service,组织engine和connector,里面只能包含一个engine
  • 连接器组件:connector,有HTTPS、HTTP、AJP协议的连接器。注:AJP(Apache Jserv Protocol)是一种基于TCP的二进制通讯协议。
  • 容器类:engine、host、context都是容器类组件,可以嵌入其他组件,内部配置如何运行应用程序
  • 内嵌类:可以内嵌到其他组件内,value、logger、realm、loader、manager等,eg:logger可以在不同容器组内定义
  • 集群类组件:listen、cluster

(2)内部组成图示:

(3)内部组成说明:

名称说明
serverTomcat运行的进程实例
connector负责客户端的HTTP、HTTPS、AJP等协议的连接。一个connector只属于一个engine
**service用来组织engine和connector的关系**
engine响应并处理用户请求,一个引擎上可以绑定多个connector
host虚拟主机
context应用的上下文,配置路径映射path==>directory

注意:

  • 一般一台主机上启一个Tomcat,一个Tomcat也只配置一个service

  • engine的响应过程:engine下面配置着许多的虚拟主机,当请求到达时,engine匹配虚拟主机的path路径,如果没有匹配则缺省虚拟主机处理用户请求。

(4)配置文件:<只列出部分组件项>

<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">            #server 代表整个Tomcat容器
  <Service name="Catalina">                         #service 一般配置一个,则service name相当于标识
    <Connector port="8080" protocol="HTTP/1.1"      #connector 指明监听的端口和协议:http 8080、https 8443、AJP 8009
    <Connector port="8009" protocol="AJP/1.3".../>
    <Engine name="Catalina" defaultHost="localhost">#engine的缺省虚拟主机配置  engine下面还可配置其他虚拟主机    
      <Host name="localhost"  appBase="webapps"     
        <Valve className="o..." directory="logs"    #虚拟主机内部可以配置上下文、
      </Host>
    </Engine>
  </Service>
</Server>
Tomcat应用部署

(1)webapps/ROOT/目录就是网站的默认根目录

  • 访问的URL:http://192.168.38.17:8080

(2)部署manager/时与ROOT同级目录,但是访问的URL:http://192.168.38.17:8080/manager

[root@centos7-17 tomcat]# ls webapps/manager/
images/    
index.jsp  
META-INF/   #类似于WEB-INF
status.xsd  
WEB-INF/    #webapp的应用的配置存放路径目录,存放web.xml和context.xml
xform.xsl

(3)JSP WebAPP目录结构

  • 主页配置:一般指定为index.jsp或者index.html
  • WEB-INF/ #webapp的应用的配置存放路径目录,存放web.xml和context.xml
  • META-INF/ #类似于WEB-INF
  • classes/ #类文件,当前webapp需要的类
  • lib/ #当前webapp依赖的jar包

(4)webapps的全局配置:web.xml

[root@centos7-17 tomcat]# vim conf/web.xml
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
  • 说明默认页面的加载顺序:index.html > index.htm > index.jsp

  • 只是想说明:web.xml对全局的webapps做了默认配置

  • 注:修改上述默认页面的加载顺序不需要重启Tomcat,修改配置文件之后需不需要重启还是看修改之后先测试Tomcat能否对配置文件生效吧~~不用重启尽量别重启Tomcat

(5)webapp归档格式

  • .war:webapp打包
  • .jar:EJB类打包
  • .rar:资源适配器类打包
  • .ear:企业级webapp打包

(6)部署deploy

  • 注:反部署undeploy:停止webapp的运行,并此JVM上清除已经加载的类,**从Tomcat应用目录中移除部署的文件。**反部署会将部署的文件从磁盘删除,慎重!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值