Servlet 概述

Servlet 概述:

servlet就是一个实现了某些接口(javax.servlet)的Java类。

​Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http。

​在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类。

​在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类。

​一个servlet所必要的几个生命周期方法(init、service、destory),每一个servlet都必须实现这些方法,并在相应的生命周期阶段自动被调用执行。

​懒加载就是在第一个请求到来时才加载,而预先加载则是在容器启动时就进行servlet的加载和初始化。

​​每一个请求都在独立的线程中被处理,同时一个servlet实例是可以被多个线程所共享的,当不再需要时,servlet会被gc掉。

servlet容器会为每一个应用创建一个ServletContext并保存在内存中,同时web.xml也会被解析,其中定义的servlet、listener、filter也会被创建于内存中;

生命周期:
客户端请求servlet
加载servlet类到内存
实例化、初始化servlet
init()初始化参数
调用service() (doGet() 或者 doPost())
destroy()
​可以​重写service()方法。如果继承HttpServlet类,可以重写doGet()或者doPost()来处理客户端通过Get或者Post方法过来的表单。实际上,service()方法会调用doGet()方法或者doPost()方法

为什么要使用servlet:
1、servlet是采用接java编写的,而由java跨平台性的特点可知,servlet移植性很好,且servletAPI具有完善的标准,几乎所有的主流服务器都支持servlet。
2、servlet与传统的CGI(common  gateway  interface)相比,功能要强大,且处理的请求采用的是线程,而非进程,从而节省大量的资源开销,因此servlet处理请求更轻量级、更高效。

参考博文:https://blog.csdn.net/b2222505/article/details/76664447 

posted @ 2019-03-27 15:19  胡帅帅  阅读(134)  评论(0编辑  收藏  举报