作为JAVA编程基础,servlet入门知识比不可少,本文叙述了servlet主要功能及servlet生命周期,供学习或者工作中参考。
1、主要功能
Servlet用于替代CGI,因此具有CGI类似的功能:
获取浏览器上传的用户数据,例如网页上的 HTML 表单(也可以是来自 applet 或自定义的 HTTP 客户端程序的表单)。获取浏览器上传的HTTP请求数据,包括 cookies、媒体类型和浏览器能理解的压缩格式等等。处理这些上行数据并生成结果,包括访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务。下发用户响应数据到浏览器,例如文本文件(HTML 、XML、JSON)、图片、流媒体等。下发 HTTP响应数据到浏览器,包括返回文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。2、生命周期Servlet 生命周期是从创建直到毁灭的整个过程,过程包括:
init () 方法:初始化,只调用一次。service() 方法:处理客户端的请求,每收到一次请求,服务器新产生一个线程来处理。destroy() 方法: 终止,只调用一次。垃圾回收:JVM 的垃圾回收器负责最后的垃圾回收。生命周期示意图如下:
service() 方法可以调用的HTTP请求方法:
doGet() 方法对应HTTP GET 请求,来自于一个 URL 的正常请求,或者来自于一个未指定 METHOD 的 HTML 表单:
publicvoiddoGet(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException { // Servlet 代码}doPost() 方法
对应HTTP POST 请求,来自于一个特别指定了 METHOD 为 POST 的 HTML 表单:
publicvoiddoPost(HttpServletRequest request, HttpServletResponse response)throwsServletException, IOException { // Servlet 代码}