Tomcat项目部署和Tomcat四大容器介绍

Tomcat项目部署和Tomcat四大容器介绍

Tomcat的部署方式:

在部署的时候Tomcat是并行部署项目

可以参照:https://www.cnblogs.com/honger/p/10362774.html

描述符部署

deployDescriptors(configBase,configBase.list())

从configBase部署发布XML描述文件

war包部署

deployWARs(appBase, filteredAppPaths);

.war可以全部是class文件。其中web.xml也是可以删除的。

但是将其打包为.jar包放在Tomcat文件夹下是无法生效的,因为在Java中一般.jar包是一个依赖包而且源码中也有文件类型判断。

用.war包结尾的就被Tomcat视为一个项目。

在Tomcat的代码中有一个判断,只有当程序为.war结尾时才会去走以下的逻辑。

文件夹部署

deployDirectories(appBase, filteredAppPaths);

可以通过指定地址部署,不用复制到Tomcat下。

在部署Tomcat项目的时候可以在server.xml文件中的目录下定义一个节点。path代表应用名(访问的时候的名字,http的地址),docBase代表项目的地址

Tomcat是一个Servlet容器

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

response.getWriter().println("hello")

}

}

在实现该功能的时候肯定要执行myServlet.doGet()方法,该方法是由Tomcat实现的。

处理请求的大致流程。

开始请求--->Request--->RequestFacade--->myServlet.doGet(RequestFacade)

//Tomcat最后调用的是myServlet.service(RequestFacade)方法,在方法中使用doGet方法

Tomcat四大容器

Engine,Host,Context,Wrapper

Tomcat相当于一个虚拟主机:一个虚拟主机下可以部署多个项目。也可以说多个项目属于一个虚拟主机。

Engine—>Host—>Context—>Wrapper—>Servlet

Engine,Host,Context,Wrapper都是servlet容器。

Engine,Host都是集群管理器。

Wrapper:对servlet进行区分。类似于,有多个类包含servlet,每个类中有 多个servlet(List),在Wrapper层将每个类中的servlet封装在一起,Context层将所有类的servlet封装在一起(LIst)。

普通的servlet在Tomcat中是所有的请求线程共享一个实例。(可以理解为单例)

public class MyServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

response.getWriter().println("hello")

}

}

如果实现了SingleThreadModel接口。每个请求都单独有一个servlet实例。

public class MyServlet extends HttpServlet implements SingleThreadModel{

public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {

response.getWriter().println("hello")

}

}

如下的nameproject是属于name.com主机的。下面的所有name必须保证是同一个IP地址,这样才能保证Tomcat能接收到请求。

在进行Host配置的时候一定要加上项目路径。例如

Host的优点:

可以针对每一个Host进行不同的配置。比如:单独记录日志。当同一个机器上有多个不同类型的项目时容易区分。相互之间的影响减少,解耦。

server.xml

prefix="localhost_access_log" suffix=".txt"

pattern="%h %l %u %t "%r" %s %b" />

相关内容

赵云嘻哈天王获取途径
365betasia

赵云嘻哈天王获取途径

⌚ 08-06 👁️‍🗨️ 3089
唐诗典故“镊鬓”出处、意思和例句
365bet最稳定网址

唐诗典故“镊鬓”出处、意思和例句

⌚ 08-05 👁️‍🗨️ 7633
Sneaker潮荟 | 世界杯球衣盘点:adidas篇
365bet外围

Sneaker潮荟 | 世界杯球衣盘点:adidas篇

⌚ 07-23 👁️‍🗨️ 4551

友情链接