Sevlet的前世今生

缘起

  写这篇文章的由来比较尴尬,是因为我想了解为什么Spring MVC框架要从DispatcherServlet开始进行请求的处理。虽然每天使用SpringBoot进行日常工作,但是每天都在写的Controller是怎样工作的,整个前端到后端的请求处理过程是怎样的,却不是很清楚。因此前来探索一下,首先想要了解的一点就是:为什么Spring MVC框架要从DispatcherServlet开始进行请求的处理?渐渐的才知道不是要从DispatcherServlet开始,是要从Servlet开始,那么Servlet是什么呢?

什么是Servlet

  Servlet是用Java编写的服务器端程序。主要功能是处理客户端的请求并返回给客户端结果,动态地生成Web内容。具体内容还是参见百度:什么是Servlet

为什么要有Servlet

  因为Web服务器只有处理静态资源的能力,没有处理动态资源的能力,所以有了Servlet。即让服务器具有处理动态资源的能力。具体内容参见博文:为什么要有Servlet

Servlet是谁最开始提出来的

  既然提到这个,那不得不提J2EE,因为Servlet是J2EE中的一部分。J2EE简单的理解,可以说是在Sun公司的领导下,一些公司制定的一套开发规范,这套规范适用于企业级分布式应用程序的开发。具体J2EE的解释还是参见百度:什么是J2EE

小科普

  既然提到了J2EE,不免会联系到Java SE,又会问JavaSE、Java EE以及J2EE之间的异同点。简单的讲,Java SE是Java平台标准版,Java EE是Java平台企业版,Java EE也叫J2EE。Java SE为Java EE提供了基础。

总结

  到此为止,我们可以看到Servlet是一种规范,也可以是一个运行在服务端的Java小程序,这并不冲突。那么如何让一种规范落地变成一种可以运行的程序呢?用程序猿的话来讲就是?你写一个接口呀,大家都来实现不就完了。于是,Sun公司就写了一个接口,叫做Servlet,全限定类名是javax.servlet.Servlet,在Java EE的Api文档中我们可以搜索到这个类,API文档链接如下:Java EE接口文档,进入以后搜索这个类名找到这个类,开始你对Servlet的认知吧。

后续

  回到缘起,我为什么会提出这个问题:Spring MVC框架为什么要从DispatcherServlet开始处理请求呢?当然是想去看DispatcherServlet的工作原理了,所以了解为什么从DispatcherServlet开始这个问题只是一道前菜,正餐还是学习DispatcherServlet的工作原理,这部分内容在下回分解。

  DispatcherServlet类继承关系。在后续很多时候遇到的疑问的解决点就在这个继承关系中。

Servlet (javax.servlet)
	GenericServlet (javax.servlet)
		HttpServlet (javax.servlet.http)
			HttpServletBean (org.springframework.web.servlet)
				FrameworkServlet (org.springframework.web.servlet)
					DispatcherServlet (org.springframework.web.servlet)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值