3D特效做首页的网站,苏州网站建设免费,二手电商怎么做,好看的网站源码目录 一、Tomcat的基本介绍
1、Tomcat是什么#xff1f;
2、Tomcat的配置文件详解
3、Tomcat的构成组件
4、Tomcat的顶层架构
5、Tomcat的核心功能
6、Tomcat的请求过程 一、Tomcat的基本介绍
1、Tomcat是什么#xff1f;
Tomcat 服务器是一个免费的开放源代码的Web …目录 一、Tomcat的基本介绍
1、Tomcat是什么
2、Tomcat的配置文件详解
3、Tomcat的构成组件
4、Tomcat的顶层架构
5、Tomcat的核心功能
6、Tomcat的请求过程 一、Tomcat的基本介绍
1、Tomcat是什么
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器属于轻量级应用服务器在中小型系统和并发访问用户不是很多的场合下被普遍使用是开发和调试JSP 程序的首选。对于一个初学者来说可以这样认为当在一台机器上配置好Apache 服务器可利用它响应HTML标准通用标记语言下的一个应用页面的访问请求。际上Tomcat是Apache 服务器的扩展但运行时它是独立运行的所以当你运行tomcat 时它实际上作为一个与Apache 独立的进程单独运行的诀窍是当配置正确时Apache 为HTML页面服务而Tomcat 实际上运行JSP 页面和Servlet。另外Tomcat和IIS等Web服务器一样具有处理HTML页面的功能另外它还是一个Servlet和JSP容器独立的Servlet容器是Tomcat的默认模式。不过Tomcat处理静态HTML的能力不如Apache服务器。
2、Tomcat的配置文件详解 目录名字 功能 bin 存放启动和关闭 Tomcat 的脚本文件比较常用的是 catalina.sh、startup.sh、shutdown.sh 三个文件 conf 存放 Tomcat 服务器的各种配置文件比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件。 conf 子目录 注意 配置文件对于大小写敏感 文件名 说明 server.xml 主配置文件 全局生效 web.xml 每个webapp只有“部署后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件 context.xml 用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件 tomcat-users.xml 用户认证的账号和密码文件 catalina.policy 当使用security选项启动omcat时,用于为tomcat设置安全策略 catalina.properties Tomcat环境变量的配置,用于设定类加载器路径以及一些与JVM调优相关参数 logging.properties Tomcat日志系统相关的配置可以修改日志级别和日志路径等 lib 存放 Tomcat 服务器的 jar 包一般不作任何改动除非连接第三方服务 比如 redis那就需要添加相对应的 jar 包 logs 存放 Tomcat 日志 temp 存放 Tomcat 运行时产生的文件 webapps 存放项目资源的目录 work Tomcat 工作目录一般清除 Tomcat 缓存的时候会使用到升级版本时注意要删除里面的缓存
3、Tomcat的构成组件
Tomcat 由一系列的组件构成其中核心的组件有三个
3.1 Web 容器完成 Web 服务器的功能。https请求
负责底层的HTTP协议
3.2 Servlet 容器名字为 catalina用于处理 Servlet 代码。(具体的任务)
Servlet 是Java Servlet 的简称可以理解为是一个服务连接器是用 Java 编写的服务器端程序具有独立于平台和协议的特性 简单的理解servlet 就是一个中间件包含了接口和方法将客户端和数据库连接从而实现动态网页的创建。
3.3 JSP 容器用于将 JSP 动态网页翻译成 Servlet 代码
JSP 全称 Java Server Pages是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 % 开头以 % 结束。JSP 是一种 Java servlet主要用于实现 Java web 应用程序的用户界面部分。JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源然后动态地创建网页。因此 Tomcat 是 Web 应用服务器也是一个 Servlet/JSP 容器。Tomcat 作为 Servlet 容器负责处理客户请求把请求传送给 Servlet并将 Servlet 的响应传送回给客户。
4、Tomcat的顶层架构
Tomcat中最顶层的容器是Server代表着整个服务器一个Server可以包含至少一个Service用于具体提供服务。Service主要包含两个部分:Connector和Container。Tomcat的心脏就是这两个组件这两个组件的作用:Connector用于处理连接相关的事情并提供Socket与Request和Response相关的转化; Conta iner用于封装和管理Servlet以及具体处理Request请求。一个Tomcat中只有一个Server一个Server可以包含多个Service一个Service只有一个Container,但是可以有多个Connectors因为一个服务可以有多个连接如同时提供Http和Https链接也可以提供向相同协议不同端口的连接。多个Connector和一个Container就形成了一个Service有了Service就可以对外提供服务了但是Service还要一个生存的环境必须要有人能够给它生命、掌握其生死大权那就非Server莫属了!所以整个Tomcat的生命周期由Server控制。另外上述的包含关系或者说是父子关系都可以在tomcat的conf目录下的server .xml配置文件中看出。server.xm1中定义Server port8005 shutdownSHUTDOWN这会让Tomcat6启动一个server实例(即一个JVM)它监听在8005端口以接收“SHUTDOWN”命令如果接收到了就会关闭Tomcat。各Server的定义不能使用同一个端口这意味着如果在同一个物理机上启动了多个Server实例必须配置它们使用不同的端口。
5、Tomcat的核心功能
Tomcat 的核心功能有两个分别是负责接收和反馈外部请求的连接器 Connector和负责处理请求的容器 Container。 其中连接器和容器相辅相成一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。
Connector负责对外接收和响应请求。它是Tomcat与外界的交通枢纽监听端口接收外界请求并将请求处理后传递给容器做业务处理最后将容器处理后的结果响应给外界。Container负责对内处理业务逻辑。其内部由 Engine、Host、Context和Wrapper 四个容器组成用于管理和调用 Servlet 相关逻辑。Service对外提供的 Web 服务
Container 结构分析
每个 Service 会包含一个 Container 容器。在 Container 内部包含了 4 个子容器
4个子容器的作用分别是
Engine引擎用来管理多个虚拟主机一个 Service 最多只能有一个 EngineHost代表一个虚拟主机也可以叫站点通过配置 Host 就可以添加站点Context代表一个 Web 应用包含多个 Servlet 封装器Wrapper封装器容器的最底层。每一 Wrapper 封装着一个 Servlet负责对象实例的创建、执行和销毁功能。
Engine、Host、Context 和 Wrapper这四个容器之间属于父子关系。
容器 由一个引擎可以管理多个虚拟主机。每个虚拟主机可以管理多个 Web 应用。每个 Web 应用会有多个 Servlet 封装器。
6、Tomcat的请求过程 用户在浏览器中输入该网址请求被发送到本机端口8080被在那里监听的Coyote HTTP/1.1 Connector获得;Connector把该请求交给它所在的Service的Engine (Container) 来处理并等待Engine的回应;Engine获得请求localhost/test/index.jsp匹配所有的虚拟主机Host;Engine匹配到名为localhost的Host(即使匹配不到也把请求交给该Host处理因为该Host被定义为该Engine的默认主机)名为localhostHost获得请求/test/index.jsp匹配它所拥有的所有Context。Host匹配到路径为/test的Context(如果匹配不到就把该请求交给路径名为“”的Context去处理);path/test的Context获得请求/ index. jsp在它的mapping table中寻找出对应的Servlet。Context 匹配到URLPattern为* .jsp的Servlet对应于JspServlet类;构造HttpServletRequest对象和HttpServletResponse对象作为参数调用JspServlet的doGet()或doPost(),执行业务逻辑、数据存储等Context把执行完之后的HttpServletResponse对象返回给Host; .Host把HttpServletResponse对象返回给Engine;Engine把HttpServletResponse对象返回Connector;Connector把HttpServletResponse对象返回给客户Browser