Spring mvc源码分析系列--Servlet的前世今生( 三 )


发现service()方法会在org.apache.catalina.core.ApplicationFilterChain#internalDoFilter(ServletRequest request, ServletResponse response)里被调用 。看到这里,大家应该清楚Servlet如何跟Tomcat串联起来了吧 。
至于我们写的Servlet是怎么塞到了ApplicationFilterChain里面,可以去看后续系列Tomcat的原理分析(又在挖坑,我直接好家伙) 。
小试牛刀【Spring mvc源码分析系列--Servlet的前世今生】前面说了辣么多,那Servlet项目是什么结构,以及如何运行的,下面我们返璞归真搞个简单的Servlet项目来试试看 。
新建一个项目,勾上 。

Spring mvc源码分析系列--Servlet的前世今生

文章插图
过程省略,可参考文章,最终项目结构如下 。
Spring mvc源码分析系列--Servlet的前世今生

文章插图
MyServlet代码如下 。
/** * @author Codegitz * @date 2022/9/28 **/@WebServlet({"/myServlet"})public class MyServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("invoke MyServlet#doGet() method");doPost(req,resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {System.out.println("invoke MyServlet#doPost() method");resp.getWriter().write("<h1>Hello World</h1>");}}启动Tomcat就可以访问了 。麻雀虽小五脏俱全,这就是一个简单的Servlet项目构建过程 。可以看到这个纯粹的Servlet项目,没有涉及到Spring mvc的东西,那么如何涉及到Spring mvc后,项目会变成什么样呢?这个我们下一篇文章会介绍 。
Spring mvc源码分析系列--Servlet的前世今生

文章插图
总结这篇文章简单介绍了一下Servlet的发展历史,然后顺带简单介绍了Tomcat的主要版本已经他们之间的关系 。最后是简单实现了一个Servlet,这里还没真正涉及到Spring mvc的内容 。
下一篇就会真正的开始Spring mvc的分析,会简单介绍一下mvc的发展历史,随后通过一个小demo引入,然后开始源码分析 。
这篇文章太简单了,you水一篇 。哈哈 。
如果有人看到这里,那在这里老话重提 。与君共勉,路漫漫其修远兮,吾将上下而求索 。

经验总结扩展阅读