Servlet 的理解

 

  • 简单认识:

理解:Servlet是一个Java接口。接口就是一种规范这种规范能够帮助我们在Web上与服务器产生数据交互,从而生成动态的Web。

本质:Web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本质是一个面向请求/ 响应服务器帮助程序,这个程序就是一个继承了HttpServlet的一个类文件

功能是在容器(服务器)根据客户端不同请求给予相应的响应服务.

环境:Servlet的运行环境是Tomcat

  • Servlet提供服务的过程原理(Servlet生命周期):

生命全过程:

触发: URL请求触发

加载: ClassLoader 加载相关需要用到的类

实例化: init()传递配置参数,为服务做准备

初始化: 调用构造方法,创建servlet类的对象

服务: doGet()  doPost() servlet()方法,提供服务

退出服务: destroy()死亡/销毁消除内存中的无用数据

从服务器开机开始,如果没有请求触发的话,就不会有相应的servlet对象创建以后到结束,一直都只有一个servlet对象,然后以多线程的形式执行,多个请求到同一个servlet类

  • Servlet 编程接口 :

用于HTTP的Servlet编程都通过继承 javax.servlet.http.HttpServlet 实现

请求处理方法(应对Http协议请求):1、doGet        响应Get请求,常用

                                                    2、doPost        响应Post请求,常用

实例的个数:在非分布的情况下,通常一个Servlet在服务器中有一个实例

  • Servlet的多线程机制 :

 Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的。当客户端第一次请求某个Servlet时,Servlet 容器将会根据web.xml配置文件实例化这个Servlet类。当有新的客户端请求该Servlet时,一般不会再实例化该Servlet类,也就是有 多个线程在使用这个实例。Servlet容器会自动使用线程池等技术来支持系统的运行

参考:

https://baijiahao.baidu.com/s?id=1594803135369006431

https://www.cnblogs.com/mhzhou-whyj/p/9437993.html

猜你喜欢

转载自blog.csdn.net/qq_41630866/article/details/87610310