Servlet规范系列 之 入门级简介

欢迎大家关注本博,同时欢迎大家评论交流,可以给个赞哦!!!

  在进行Web开发过程中,都会直接或间接的接触到Servlet,比如最基本的基于Servlet的应用、基于Spring技术栈的应用。在依赖Spring技术栈进行开发时,Spring对Servlet进行了封装,所有前端请求统一经过DispatcherServlet,DispatcherServlet接收请求后根据自身规则和规范进行请求转发等。如果想更详细的了解Spring的技术内幕,可以查看本博《Spring 技术栈大全》系列文章,会从应用和源码的角度多方位的分析Spring技术栈。

  行业当前趋势是趋于应用,导致很多同学无论在工作还是学习过程中,忽略了最根本的内容,底层基础决定上层建筑,在工作或学习之余,还是要了解或深入一下基础,这些是构筑Spring等大型框架的基础。

  基础学习在常规性工作中的作用体现并不明显,个人深刻体会:当系统出现难以解决的问题时,只有你掌握扎实的基础,才能游刃有余的应对,并且恰恰是在这时,才是体现个人能力和价值的关键时刻。

  作为系列文章的第一篇,当然不免俗套的要介绍一下Servlet,不然心里总有点不舒服!!!

  Servlet(Server Applet)是Java Servlet的简称,用于Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Servlet是基于Java技术的Web组件,容器托管的,用于生成动态内容,像其他基于Java的组件技术一样,Servlet也是基于平台无关的Java字节码,可以被基于Java技术的Web Server动态加载并运行。Servlet容器是Web Server或Application Server的一部分,提供基于请求/响应发送模型的网络服务,解码基于MIME的请求,并且格式化基于MIME的响应。Servlet容器同时管理Servlet生命周期。

  与CGI比较:

  记得博主刚开始接触Java技术时,Servlet就一直在和CGI(Common Gateway Interface,公共网关接口)技术作对比,但其实CGI在Web应用中已经处于脱轨状态,常规比较走起,Servlet对比CGI具有的优势:

  · 性能更好。

  · Servlet在Web服务的地址空间内执行,这样就无需新建独立进程来应对客户端请求。

  · Servlet是独立于平台的,具有Java跨平台的特性。

  · 随着Java的发展,Servlet得到强大的支持。

  单体架构:

  从单体架构的角度来看,Servlet容器作为中间层,衔接客户端和数据库,完成业务逻辑处理,当然,在Servlet内仍可进行细分,例如分层、分服务等可提高应用可用性的方案,但从宏观角度来看,Servlet完成的工作始终如一。
在这里插入图片描述
  源码结构:

  系列文章以Servlet API 2.x版本为准进行分析,如下是接下来的博文中需要分析的源码结构,其中涉及了Servlet 的全部内容:
在这里插入图片描述
  源码分为两大类:javax.servlet和javax.servlet.http,其中javax.servlet.http包下类,是供Servlet容器实现重写的,详细的代码分析将在之后的系列博文中深入讲解。

本博微信公众号“超哥说码”,欢迎大家订阅,公众号正在完善中,会及时将更优质的博文推送于您!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/securitit/article/details/108015791
今日推荐