什么是Servlet?
简单概述:在学习JavaEE(也就是javaweb)的阶段就会了解servlet、比如在web. xml中设置指定servlet的一个访问路径、他就会根据你浏览器请求是get方式或者post方式时、它会执行对应的doget方法或者dopost方法来做出响应给浏览器。
Servlet 是 Server Applet 的简称,译为“服务器端小程序”。Servlet 是 Java 的一套技术标准,规定了如何使用 Java 来开发动态网站。换句话说,Java 可以用来开发网站后台,但是要提前定义好一套规范,并编写基础类库,这就是 Servlet 所做的事情。
简单来讲:实现了servlet接口都可以叫做xxxservlet
- Servlet 主要用于处理客户端传来的 HTTP 请求,并返回一个响应,它能够处理的请求有 doGet()和doPost() 等。
- Servlet 由 Servlet 容器提供,Servlet 容器是指提供了 Servlet 功能的服务器(如 Tomcat)。
- Servlet 容器会将 Servlet 动态加载到服务器上,然后通过 HTTP 请求和 HTTP 应与客户端进行交互。
总结:
-
简单来说就、用户通过url来请求服务器上的资源、然后去找到servlet容器、然后servlet容器(可以理解为就是tomcat)就会去web.xml中找到你配置的对应servlet请求、然后servlet做出响应返回数据给servlet容器、然后servlet容器就会把方法的数据展示到客户端。
-
servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容
参考: https://www.zhihu.com/question/21416727
Servlet生命周期
Servlet工作流程分为三个阶段。init(初始化),service(运行),destroy (销毁)
@Override
public void init() throws ServletException {
System.out.println("开始初始化");
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
System.out.println("开始服务");
}
@Override
public void destroy() {
System.out.println("销毁服务1");
}
init(初始化)
init方法只会运行一次、就是在servlet被访问时就会初始化一次、
service(运行)
service方法每次请求都会访问service方法、主要就是通过请求方式做出对应请求的方法中的实现、
destroy (销毁)
destroy方法做为释放资源、只会执行一遍、简单来说就是当tomcat服务器关闭时、运行destroy方法来释放tomcat服务器中的所有servlet所占的资源
小结:
- 其实servlet真正生命的开始是由servlet容器通过类加载器去加载servlet类、调用servlet构造去创建servlet类、这两个阶段就是:加载、创建
- 真正的生命到死亡流程是:加载、创建、初始化、运行、销毁