热点
都SpringMVC了为什么还要学Servlet?
发布日期: 2022-04-09 20:31  浏览:105

  都SpringMVC了为何还需要学Servlet?

  今日招聘面试一个技术工程师,tomcat、springmvc都懂,基本还不错,最终问了这些常见故障:SpringMVC、Tomcat是如何进行一次Http请求的? 能回应说tomcat把请求分派给springmvc,实际领域模型由springmvc实行,听着有一些模棱两可。 实际上这一常见故障仅仅把分别单独的內容融合在一起问罢了,就把招聘面试者难倒了。要回应这一常见故障并不会太难。

  最先,大家一起来看看Tomcat、SpringMVC分别的市场定位和岗位职责。

  Tomcat和SpringMVC的职责

  Tomcat:The Apache Tomcat software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.

  SpringMVC:Spring发布的根据Servlet规范的MVC框架完成。

  恰好是由于上边的界定,程序猿常常把Tomcat是一个Servlet容器,实际上Tomcat完成的作用比这一要更多一些。

  由上边2个的岗位任职要求,可以看得出SpringMVC和Tomcat的契合点是Servlet。实际上SpringMVC的DispatchServlet完成了HttpServlet,那麼SpringMVC在Tomcat来看,实际上也是一个Servlet。

  Tomcat和Servlet的原理

  Tomcat做为Servlet容器,自然还可以作为web服务器立即应用,承担把接受和回到http请求。

  Tomcat 和 Servlet原理

  下边,大家经过一个更细腻的状态图看来一下实际运行全过程:

  Tomcat和Servlet状态图

  从图中咱们看得出一个Http的实际解决步骤:

  Web客户向Servlet容器(Tomcat)传出Http请求

  Servlet容器剖析客户的请求信息

  Servlet容器建立一个HttpRequest对象,将客户请求的信息封装形式到这一对象中

  Servlet容器建立一个HttpResponse对象

  Servlet容器启用HttpServlet对象的service方式,把HttpRequest对象与HttpResponse对象做为主要参数

  发送给 HttpServlet对象

  HttpServlet启用HttpRequest对象的相关方式,获得Http请求信息

  HttpServlet启用HttpResponse对象的相关方式,转化成回应数据信息

  Servlet容器把HttpServlet的回应結果发送给Web客户

  Tomcat下Servlet的环境变量:web.xml

  web.xml的功能是配备Http和Servlet中间的映射关联、filter、context主要参数等。那样根据这一份承诺的环境变量,Tomcat可以把Http请求映射到不一样的Servlet案例上。因此,在Servlet时期的web.xml中,会出现许多的 项配备。

  SpringMVC的更改

  大家上边说过,SpringMVC也是Servlet的完成,只不过是SpringMVC提升了一个DispatchServlet,全部的http请求全是映射到这一Servlet上,请求进到到这一Servlet中以后,即使进到到了架构当中了,由这一Servlet来统一的分派http请求到每个Controller,下面的事儿大伙儿就明白了。

  PS:最终给各位好多个提议:

  很多人跟我说都SpringMVC了,为何还要学习培训Servlet,这篇文章假如可加小标题,我便会把它再加上。嗯,我便把列入文章标题算了吧。

  技术性的学习培训一定要仔细一点,多提出问题,举例说明,http网络服务器、web服务器、网站服务器,这种大伙儿经常采用的名称,究竟有哪些各自。

  学过专业知识,要多想一点,尤其是如今,许多同学们全是根据微信号码这种一篇一篇的文章内容学的,乃至不太学,立即百度搜索来的,那麼要留意把点连接起来,把线扩成面。

推荐资讯
拨打电话