热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringServlet相关知识

上一篇Spring常用注解汇总下一篇Spring原理汇总及零碎知识点1.什么是ServletS

上一篇 Spring常用注解汇总
下一篇 >>>Spring原理汇总及零碎知识点


1.什么是Servlet

Servlet是运行在Web服务器或应用服务器上的中间层程序,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

2.和CGI相比的优势是什么

CGI(Common Gateway Interface,公共网关接口)功能类似,但有以下优势:
a、性能明显更好,它在web服务器地址空间内执行,没必要创建单独的进程来处理每个客户端请求。
b、它独立于平台,是java编写
c、在java安全管理器执行了一些限制,所以是可信的。
d、java类库的全部功能对Servlet来说都是可用的

3.Servlet的生命周期

Servlet 加载—>实例化—>服务—>销毁。
a、init():
在Servlet的生命周期中,仅执行一次init()方法。它是在服务器装入Servlet时执行的,负责初始化Servlet对象。可以配置服务器,以在启动服务器或客户机首次访问Servlet时装入Servlet。无论有多少客户机访问Servlet,都不会重复执行init()。
b、service():
它是Servlet的核心,负责响应客户的请求。每当一个客户请求一个HttpServlet对象,该对象的Service()方法就要调用,而且传递给这个方法一个“请求”(ServletRequest)对象和一个“响应”(ServletResponse)对象作为参数。在HttpServlet中已存在Service()方法。默认的服务功能是调用与HTTP请求的方法相应的do功能。
c、destroy():
仅执行一次,在服务器端停止且卸载Servlet时执行该方法。当Servlet对象退出生命周期时,负责释放占用的资源。一个Servlet在运行service()方法时可能会产生其他的线程,因此需要确认在调用destroy()方法时,这些线程已经终止或完成。

4.Servlet线程是否安全

不安全,servlet走的单例,所有线程走的同一个bean。

Spring Servlet相关知识

5.DispatcherServlet与Servlet类有什么区别

DispatcherServlet其实就是一个Servlet类,无非就是包装来根据url能够映射找到我们的SpringMVC中定义的请求方法。
DispatcherServlet继承FrameworkServlet继承HttpServlet

Spring Servlet相关知识

6.Servlet与SpringMVC的区别

SpringMVC是基于Servlet封装的MVC框架,属于扩展。
springMVC 线程要改为线程安全,设置为request多例


推荐阅读:
Spring原理汇总及零碎知识点
Web项目的启动方式汇总
SpringMVC底层无web.xml启动原理分析
SpringMVC运行流程
DispatcherServlet执行原理分析
过滤器与拦截器的区别
SpringMVC拦截器的用法
SpringMVC异步实现方式
@Async注解的失效之谜
SpringMVC适配器类型汇总


推荐阅读
author-avatar
噬灬魂鴒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有