GPT 告诉你请求到达 Tomcat 是怎么处理的

tomcat如何监听请求到达

在这里插入图片描述

没有SpringMVC,tomcat 如何处理请求

在这里插入图片描述

Tomcat 线程池的作用是什么主要任务是什么?

如何配置tomcat 线程池

tomcat 线程池的主要任务是处理连接请求

在这里插入图片描述

tomcat线程池是怎么实现的

到这里可以看出来,tomcat线程池的实现方式也是通过ThreadPoolExecutor 实现

在这里插入图片描述

如何根据请求url 找到对应的servlet

通过在xml 文件中配置servlet 与 url 的映射关系 找到对应的servlet 处理请求。找到servlet之后需要交给servlet中的service方法,service中会根据get 方法,还是post 方法调用doget/dopost 方法,当然也可以自己指定方法(doget,或者dopost 方法)调用。

在这里插入图片描述
配置方式示例:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Hello Servlet</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Hello World</h1>");
        out.println("</body>");
        out.println("</html>");
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    id="WebApp_ID" version="4.0">
    <display-name>HelloServletExample</display-name>
    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.example.HelloServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

到这里差不多tomcat 处理请求的相关问题已经理清楚了,其中还有过滤器监听器等组件没有使用,应该差不多,先不问了😀。那么接下来看一下Spring MVC 来了应该又是什么的流程。

SpringMVC 处理请求的详细流程

从这里可以看出,主要就是通过DispatcherServlet处理请求。那么又和tomcat 是怎么配合的呢?

在这里插入图片描述

SpringMVC 是怎样和tomcat 配合的

在这里插入图片描述

到这里我们可以完整的理解到请求到大服务器是怎样一步步处理并返回的,其中还有很多细节问题可以提问,可以评论区讨论?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值