百度百科是这样的:
Servlet 是在服务器上运行的小程序。这个词是在 Java applet 的环境中创造的。虽然后者已很少被使用,但 Servlet 却发展的很好。是一般面试都会常考的知识。
维基百科是这样的:
Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器
生命周期:我觉得这个是很重要的
下面是这些方法的一个典型的用户场景。
- 假设一个用户请求访问URL。
- 然后浏览器生成HTTP请求的URL。
- 然后这个请求发送到适当的服务器。
- 接收到HTTP请求的web服务器和转发到servlet容器。
- 容器将这个请求映射到一个特定的servlet。
- servlet是动态检索和加载到容器的地址空间。
- 容器调用
init()
servlet的方法。- 调用该方法只有当servlet首先加载到内存中。
- 可以初始化参数传递给servlet,它可能配置本身。
- 容器调用
service()
servlet的方法。- 调用此方法来处理HTTP请求。
- servlet可能读取数据,提供了在HTTP请求。
- servlet也制定客户端HTTP响应。
- servlet仍在集装箱的地址空间,可以处理任何其他HTTP请求来自客户。
- 的
service()
为每个HTTP请求方法被调用。
- 的
- 容器可以在某种程度上,决定卸载servlet从它的内存。
- 这个决定的算法是由特定于每个容器。
- 容器调用servlet的
destroy()
法放弃任何分配的资源,比如文件句柄的servlet,重要的数据可以保存到持久性存储。 - 为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的不同之处。