servlet(一)

百度百科是这样的:

Servlet 是在服务器上运行的小程序。这个词是在 Java applet 的环境中创造的。虽然后者已很少被使用,但 Servlet 却发展的很好。是一般面试都会常考的知识。

维基百科是这样的:

Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议Web服务器


生命周期:我觉得这个是很重要的

下面是这些方法的一个典型的用户场景。

  1. 假设一个用户请求访问URL
    • 然后浏览器生成HTTP请求的URL。
    • 然后这个请求发送到适当的服务器。
  2. 接收到HTTP请求的web服务器和转发到servlet容器。
    • 容器将这个请求映射到一个特定的servlet。
    • servlet是动态检索和加载到容器的地址空间。
  3. 容器调用init()servlet的方法。
    • 调用该方法只有当servlet首先加载到内存中。
    • 可以初始化参数传递给servlet,它可能配置本身。
  4. 容器调用service()servlet的方法。
    • 调用此方法来处理HTTP请求。
    • servlet可能读取数据,提供了在HTTP请求。
    • servlet也制定客户端HTTP响应。
  5. servlet仍在集装箱的地址空间,可以处理任何其他HTTP请求来自客户。
    • service()为每个HTTP请求方法被调用。
  6. 容器可以在某种程度上,决定卸载servlet从它的内存。
    • 这个决定的算法是由特定于每个容器。
  7. 容器调用servlet的destroy()法放弃任何分配的资源,比如文件句柄的servlet,重要的数据可以保存到持久性存储。
  8. 为servlet及其分配的内存对象可以被垃圾收集。

JSP的生活


心得:再创建servlet和javabean其实就是遍写java的一个类,让他们实现不同功能的就是他们实现了不同的结构,继承了不同的类。

javabean就是java的一个类。

而servlet实现了如下

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

服务器需要一个web.xml来注册他。这样就能够变编译的时候识别他让他编译成为.calss文件。这也是和javaBena的不同之处。

原文地址:https://www.cnblogs.com/ganwei/p/4525425.html